檢視原始碼 Phoenix.Naming (Phoenix v1.7.14)

Phoenix 中用於變格和處理名稱的便利工具。

摘要

函式

將字串轉換為駝峰式大小寫。

將屬性或表單欄位轉換為其人稱化版本。

從別名萃取出資源名稱。

將字串轉換為底線式大小寫。

如果名稱中有給定的字尾,則將其移除。

函式

@spec camelize(String.t()) :: String.t()

將字串轉換為駝峰式大小寫。

可以帶入一個選用的 :lower 標記,以回傳 lowerCamelCase。

範例

iex> Phoenix.Naming.camelize("my_app")
"MyApp"

iex> Phoenix.Naming.camelize("my_app", :lower)
"myApp"

一般來說,camelize 可以視為 underscore 的反向動作,不過在某些狀況下,格式可能會遺失

Phoenix.Naming.underscore "SAPExample"  #=> "sap_example"
Phoenix.Naming.camelize   "sap_example" #=> "SapExample"
@spec camelize(String.t(), :lower) :: String.t()
@spec humanize(atom() | String.t()) :: String.t()

將屬性或表單欄位轉換為其人稱化版本。

範例

iex> Phoenix.Naming.humanize(:username)
"Username"
iex> Phoenix.Naming.humanize(:created_at)
"Created at"
iex> Phoenix.Naming.humanize("user_id")
"User"
連結至這個函式

resource_name(alias, suffix \\ "")

檢視原始碼
@spec resource_name(String.Chars.t(), String.t()) :: String.t()

從別名萃取出資源名稱。

範例

iex> Phoenix.Naming.resource_name(MyApp.User)
"user"

iex> Phoenix.Naming.resource_name(MyApp.UserView, "View")
"user"
@spec underscore(String.t()) :: String.t()

將字串轉換為底線式大小寫。

範例

iex> Phoenix.Naming.underscore("MyApp")
"my_app"

一般來說,underscore 可以視為 camelize 的反向動作,不過在某些狀況下,格式可能會遺失

Phoenix.Naming.underscore "SAPExample"  #=> "sap_example"
Phoenix.Naming.camelize   "sap_example" #=> "SapExample"
@spec unsuffix(String.t(), String.t()) :: String.t()

如果名稱中有給定的字尾,則將其移除。

範例

iex> Phoenix.Naming.unsuffix("MyApp.User", "View")
"MyApp.User"

iex> Phoenix.Naming.unsuffix("MyApp.UserView", "View")
"MyApp.User"