Dalam PHP, kami sering menghadapi keperluan untuk menukar rentetan dengan underscore_case kepada camelCase. Sebagai contoh, medan jadual pangkalan data bernama "nama_pengguna" akan lebih sesuai untuk menggunakan "Nama pengguna" apabila ditukar kepada atribut objek.
Berikut ialah kaedah biasa:
function snakeToCamel($str, $capitalized = false) { $result = str_replace('_', '', ucwords($str, '_')); if (!$capitalized) { $result = lcfirst($result); } return $result; }
Kaedah ini menggunakan fungsi str_replace
dan fungsi ucwords
. Fungsi str_replace
digunakan untuk menggantikan garis bawah dalam rentetan dengan rentetan kosong, dan fungsi ucwords
digunakan untuk menggunakan huruf besar huruf pertama bagi setiap perkataan. Akhir sekali, gunakan fungsi lcfirst
untuk huruf kecil huruf pertama perkataan pertama untuk mematuhi camelCase.
Seterusnya, kita boleh menggunakan kaedah ini untuk menetapkan dan mendapatkan sifat objek:
class User { private $userId; private $userName; public function setUserId($userId) { $this->userId = $userId; } public function getUserId() { return $this->userId; } public function setUserName($userName) { $this->userName = snakeToCamel($userName); } public function getUserName() { return $this->userName; } } $user = new User(); $user->setUserId(123); $user->setUserName('user_name'); echo $user->getUserId() . "\n"; // 输出:123 echo $user->getUserName() . "\n"; // 输出:userName
Dalam contoh di atas, kami menentukan kelas User
, yang mengandungi Dua atribut: userId
dan userName
. Kami menggunakan kaedah setUserId
dan setUserName
untuk menetapkan nilai kedua-dua sifat ini, dan menggunakan kaedah getUserId
dan getUserName
untuk mendapatkan nilai sifat tersebut.
Dalam kaedah setUserName
, kami menggunakan fungsi snakeToCamel
yang dinyatakan di atas untuk menukar rentetan yang dinamakan garis bawah kepada sarung unta bernama rentetan dan menetapkannya kepada atribut $userName
.
Menggunakan kaedah di atas, kami boleh memproses rentetan yang dinamakan garis bawah dengan lebih mudah dan menukarnya menjadi rentetan yang memenuhi keperluan tatatanda huruf unta, meningkatkan kebolehbacaan dan kebolehselenggaraan kod.
Atas ialah kandungan terperinci Bagaimana untuk menukar tatanama garis bawah kepada tatanama kes unta dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!