7 Sebab Memilih Rangka Kerja Yii 2
yee ). Pada masa itu versi terbaru rangka kerja yang ada ialah 1.1.14. Baru -baru ini, Yii 2.0 disediakan, jadi anda boleh mula menggunakannya dalam pengeluaran.
Semasa kami menutupnya baru -baru ini ketika masih dalam status RC, ia hanya mencapai status pelepasan penuh, dan kami merasakan sudah tiba masanya untuk meninjau semula topik itu dengan beberapa sebab untuk memilihnya melalui alternatif.Takeaways Key
rangka kerja YII 2 mudah dipasang, menjimatkan masa pemaju dengan proses pemasangan dan konfigurasi yang mudah, dikendalikan menggunakan komposer.
- Rangka kerja menggunakan teknologi moden, beroperasi sebagai rangka kerja OOP yang tulen dan memanfaatkan ciri -ciri PHP lanjutan seperti pengikatan statik, kelas SPL dan antara muka, dan fungsi tanpa nama.
- yii 2 sangat diperluas, membolehkan hampir setiap komponen kerangka disesuaikan untuk memenuhi keperluan khusus.
- Rangka kerja ini menggalakkan ujian, yang diintegrasikan dengan ketat dengan codeception, rangka kerja ujian PHP yang memudahkan proses mencipta unit, fungsi, dan ujian penerimaan. Yii 2 memudahkan keselamatan dengan komponen aplikasi keselamatannya, yang mendedahkan beberapa kaedah untuk membantu dalam membuat aplikasi yang selamat. Ia juga termasuk kelas siap sedia untuk pengesahan dan kebenaran pengguna.
- 1. Mudah dipasang
Pemasangan dikendalikan menggunakan komposer. Jika anda ingin perihalan proses pemasangan, SitePoint baru -baru ini menerbitkan artikel hebat di sini. Saya cenderung untuk memihak menggunakan templat aplikasi asas, walaupun tapak saya mempunyai komponen depan dan backend berasingan. Sebaliknya, saya memilih untuk menggunakan modul untuk bahagian belakang laman web saya. (Modul Yii digambarkan sebagai aplikasi mini yang tinggal di dalam aplikasi utama anda).
nota
: Banyak rujukan direktori dalam contoh -contoh kemudian Gunakan struktur direktori dari template mudah. 2. Menggunakan teknologi moden
Yii adalah rangka kerja OOP yang tulen, dan mengambil kesempatan daripada beberapa ciri yang lebih maju PHP, termasuk pengikatan statik, kelas SPL dan antara muka, dan fungsi tanpa nama.Semua kelas adalah nama-nama, yang membolehkan anda memanfaatkan autoloader patuh PSR-4 mereka. Ini bermakna termasuk kelas HTML HTML YII adalah semudah:
Yii juga membolehkan anda menentukan alias untuk membantu memudahkan ruang nama anda. Dalam contoh di atas, pernyataan penggunaan itu akan memuatkan definisi kelas yang terletak secara lalai dalam direktori/vendor/yiisoft/yii2/pembantu. Alias ini ditakrifkan dalam kelas Baseyii pada baris 79:
<span>use yii<span>\helpers\Html</span>;</span>
Rangka kerja itu sendiri dipasang menggunakan komposer, seperti sambungannya. Malah proses penyebaran penerbitan semudah mencipta komposer.json anda sendiri, menganjurkan kod anda di GitHub, dan menyenaraikan pelanjutan anda pada pembungkus.
3. Sangat extensibleyii adalah seperti saman yang kelihatan hebat dari rak, tetapi juga sangat mudah untuk disesuaikan agar sesuai dengan keperluan anda. Hampir setiap komponen rangka kerja adalah extensible. Contoh mudah ialah penambahan ID badan yang unik untuk pandangan anda. (Sekiranya anda berminat untuk mengetahui mengapa anda mungkin mahu melakukan ini, lihat artikel ini).
Pertama, saya akan membuat fail dalam direktori appcomponents saya dengan nama view.php, dan tambahkan yang berikut:
<span>public static $aliases = ['@yii' => __DIR__];</span>
<span>namespace app<span>\components</span>; </span> <span>class View extends yii<span>\web\View</span> { </span> <span>public $bodyId; </span> <span>/* Yii allows you to add magic getter methods by prefacing method names with "get" */ </span> <span>public function getBodyIdAttribute() { </span> <span>return ($this->bodyId != '') ? '' : ''; </span> <span>} </span> <span>}</span>
<span><span><span><body</span> <span><span><?=$this->BodyIdAttribute?></span></span>></span></span>
Yii diintegrasikan dengan ketat dengan codeception. Codeception adalah rangka kerja ujian PHP yang hebat yang membantu memudahkan proses membuat ujian unit, fungsi dan penerimaan untuk permohonan anda. Kerana anda menulis ujian automatik untuk semua aplikasi anda, bukan?
Pelanjutan codeception menjadikannya mudah untuk mengkonfigurasi permohonan anda semasa ujian. Cukup edit fail yang disediakan /tests/_config.php untuk mengkonfigurasi aplikasi ujian anda. Contohnya:
Menggunakan konfigurasi ini, yang berikut akan berlaku:
<span>return [ </span> <span>// ... </span> <span>'components' => [ </span> <span>// ... </span> <span>'view' => [ </span> <span>'class' => 'app\components\View' </span> <span>] </span> <span>] </span><span>];</span>
mana -mana e -mel yang dihantar semasa ujian fungsional dan penerimaan anda akan ditulis ke fail dan bukannya dihantar.
- URL dalam ujian anda akan mengambil format index.php/pengawal/tindakan daripada/pengawal/tindakan
- ujian anda akan menggunakan pangkalan data ujian anda, bukannya pangkalan data pengeluaran anda.
- Modul khas untuk rangka kerja YII juga wujud dalam codeception. Ia menambah beberapa kaedah ke kelas TestGuy, yang membantu anda bekerja dengan rekod aktif (YII's ORM) semasa ujian fungsional. Sebagai contoh, jika anda ingin melihat sama ada borang pendaftaran anda berjaya mencipta pengguna baru dengan nama pengguna "Testuser", anda boleh melakukan perkara berikut:
5. Memudahkan keselamatan
<span>return [ </span> <span>'components' => [ </span> <span>'mail' => [ </span> <span>'useFileTransport' => true, </span> <span>], </span> <span>'urlManager' => [ </span> <span>'showScriptName' => true, </span> <span>], </span> <span>'db' => [ </span> <span>'dsn' => 'mysql:host=localhost;dbname=mysqldb_test', </span> <span>], </span> <span>], </span><span>];</span>
Keselamatan adalah bahagian penting dari mana -mana aplikasi web, dan mujurlah yii mempunyai beberapa ciri hebat untuk membantu meringankan fikiran anda.
Yii dilengkapi dengan komponen aplikasi keselamatan yang mendedahkan beberapa kaedah untuk membantu membantu membuat aplikasi yang lebih selamat. Beberapa kaedah yang lebih berguna ialah:
- GeneratePasswordHash: Menjana hash selamat dari kata laluan dan garam rawak. Kaedah ini membuat garam rawak untuk anda, dan kemudian mencipta hash dari rentetan yang dibekalkan menggunakan fungsi Crypt PHP.
- ValidatePassword: Ini adalah fungsi pendamping untuk menghasilkan PasswordHash, dan membolehkan anda menyemak sama ada pengguna yang dibekalkan kata laluan sepadan dengan hash yang disimpan.
- generaterandomkey: membolehkan anda membuat rentetan rawak dari mana -mana panjang
YII secara automatik memeriksa token CSRF yang sah pada semua kaedah permintaan HTTP yang tidak selamat (meletakkan, pos, padam), dan akan menjana dan mengeluarkan token apabila anda menggunakan kaedah ActiveForm :: Begin () untuk membuat tag borang pembukaan anda. Ciri ini boleh dilumpuhkan dengan mengedit fail konfigurasi utama anda untuk memasukkan yang berikut:
<span>use yii<span>\helpers\Html</span>;</span>
Untuk melindungi terhadap XSS, YII menyediakan satu lagi kelas penolong yang dipanggil htmlpurifier. Kelas ini mempunyai satu kaedah statik yang dinamakan proses, dan akan menapis output anda menggunakan perpustakaan penapis popular dengan nama yang sama.
Yii juga termasuk kelas siap sedia untuk pengesahan dan kebenaran pengguna. Kebenaran dipecah menjadi dua jenis: ACF (Penapis Kawalan Akses) dan RBAC (Kawalan Akses Berasaskan Peranan).
lebih mudah dari kedua -duanya adalah ACF, dan dilaksanakan dengan menambahkan yang berikut kepada kaedah tingkah laku pengawal anda:
<span>public static $aliases = ['@yii' => __DIR__];</span>
Kod terdahulu memberitahu DefaultControllerto membolehkan pengguna tetamu mengakses tindakan log masuk dan melihat, tetapi bukan tindakan membuat. (? Adakah alias untuk pengguna tanpa nama, dan @ merujuk kepada pengguna yang disahkan).
RBAC adalah kaedah yang lebih kuat untuk menentukan pengguna mana yang boleh melakukan tindakan tertentu sepanjang aplikasi anda. Ia melibatkan membuat peranan untuk pengguna anda, menentukan keizinan untuk aplikasi anda, dan kemudian membolehkan kebenaran tersebut untuk peranan yang dimaksudkan. Anda boleh menggunakan kaedah ini jika anda ingin membuat peranan moderator, dan membenarkan semua pengguna yang diberikan kepada peranan ini untuk meluluskan artikel.
anda juga boleh menentukan peraturan menggunakan RBAC, yang membolehkan anda, di bawah syarat -syarat tertentu, untuk memberikan akses kepada aspek tertentu permohonan anda. Sebagai contoh, anda boleh membuat peraturan yang membolehkan pengguna mengedit artikel mereka sendiri, tetapi bukan yang dicipta oleh orang lain.
6. Memendekkan masa pembangunanKebanyakan projek melibatkan sejumlah tugas berulang -ulang yang tidak ada yang mahu membuang masa. Yii memberi kami beberapa alat untuk membantu anda menghabiskan lebih sedikit masa untuk tugas tersebut, dan lebih banyak masa menyesuaikan permohonan anda untuk memenuhi keperluan pelanggan anda.
Salah satu alat yang paling berkuasa ini dipanggil "GII". GII adalah alat perancah kod berasaskan web, yang membolehkan anda membuat templat kod dengan cepat untuk:
- Model
- Pengawal
- Borang
- modul
- sambungan
- tindakan dan pandangan pengawal crud
<span>use yii<span>\helpers\Html</span>;</span>
Ini memastikan bahawa GII hanya akan dimuatkan apabila pembolehubah persekitaran YII ditetapkan kepada pembangunan , dan ia hanya akan dimuat apabila diakses melalui localhost.
Sekarang mari kita lihat penjana model:
Terdapat juga beberapa alat baris arahan yang tersedia untuk membantu membuat templat kod untuk migrasi pangkalan data, terjemahan mesej (i18n) dan lekapan pangkalan data untuk ujian automatik anda. Sebagai contoh, anda boleh membuat fail penghijrahan pangkalan data baru dengan arahan ini:
<span>public static $aliases = ['@yii' => __DIR__];</span>
<span>namespace app<span>\components</span>; </span> <span>class View extends yii<span>\web\View</span> { </span> <span>public $bodyId; </span> <span>/* Yii allows you to add magic getter methods by prefacing method names with "get" */ </span> <span>public function getBodyIdAttribute() { </span> <span>return ($this->bodyId != '') ? '' : ''; </span> <span>} </span> <span>}</span>
<span><span><span><body</span> <span><span><?=$this->BodyIdAttribute?></span></span>></span></span>
<span>return [ </span> <span>// ... </span> <span>'components' => [ </span> <span>// ... </span> <span>'view' => [ </span> <span>'class' => 'app\components\View' </span> <span>] </span> <span>] </span><span>];</span>
<span>return [ </span> <span>'components' => [ </span> <span>'mail' => [ </span> <span>'useFileTransport' => true, </span> <span>], </span> <span>'urlManager' => [ </span> <span>'showScriptName' => true, </span> <span>], </span> <span>'db' => [ </span> <span>'dsn' => 'mysql:host=localhost;dbname=mysqldb_test', </span> <span>], </span> <span>], </span><span>];</span>
<span>$I->amOnPage('register'); </span><span>$I->fillField('username', 'testuser'); </span><span>$I->fillField('password', 'qwerty'); </span><span>$I->click('Register'); </span><span>$I->seeRecord('app\models\User', array('name' => 'testuser'));</span>
Semua orang tahu bahawa laman web yang perlahan mencipta pengguna yang tidak puas hati, jadi Yii memberikan anda beberapa alat untuk membantu anda memerah lebih cepat dari aplikasi anda.
Semua komponen cache Yii diperluaskan dari Yii/cache/cache, yang membolehkan anda memilih mana -mana sistem caching yang anda inginkan semasa menggunakan API biasa. Anda juga boleh mendaftarkan pelbagai komponen cache secara serentak. Yii kini menyokong pangkalan data dan sistem fail, serta APC, Memcache, Redis, Wincache, Xcache dan Zend Data Cache.
Secara lalai, jika anda menggunakan rekod aktif maka YII menjalankan pertanyaan tambahan untuk menentukan skema jadual yang terlibat dalam menghasilkan model anda. Anda boleh menetapkan aplikasi untuk cache skema ini dengan mengedit fail konfigurasi utama anda seperti berikut:
<span>return [ </span> <span>'components' => [ </span> <span>'request' => [ </span> <span>'enableCsrfValidation' => false, </span> <span>] </span> <span>];</span>
<span>use yii<span>\filters\AccessControl</span>; </span> <span>class DefaultController extends Controller { </span> <span>// ... </span> <span>public function behaviors() { </span> <span>return [ </span> <span>// ... </span> <span>'class' => AccessControl<span>::</span>className(), </span> <span>'only' => ['create', 'login', 'view'], </span> <span>'rules' => [ </span> <span>[ </span> <span>'allow' => true, </span> <span>'actions' => ['login', 'view'], </span> <span>'roles' => ['?'] </span> <span>], </span> <span>[ </span> <span>'allow' => true, </span> <span>'actions' => ['create'], </span> <span>'roles' => ['@'] </span> <span>] </span> <span>] </span> <span>]; </span> <span>} </span> <span>// ... </span><span>}</span>
<span>if (YII_ENV_DEV) { </span> <span>// ... </span> <span>$config['modules']['gii'] = [ </span> <span>'class' => 'yii\gii\Module', </span> <span>'allowedIPs' => ['127.0.0.1', '::1'] </span> <span>] </span><span>}</span>
yii migrate<span>/create create_user_table</span>
<span><span><?php </span></span><span> </span><span> <span>use yii<span>\db\Schema</span>; </span></span><span> </span><span> <span>class m140924_153425_create_user_table extends <span>\yii\db\Migration</span> </span></span><span> <span>{ </span></span><span> <span>public function up() </span></span><span> <span>{ </span></span><span> </span><span> <span>} </span></span><span> </span><span> <span>public function down() </span></span><span> <span>{ </span></span><span> <span>echo "m140924_153425_create_user_table cannot be reverted.\n"; </span></span><span> </span><span> <span>return false; </span></span><span> <span>} </span></span><span><span>}</span></span>
NOTA: Anda perlu memuat turun dan memasang alat luaran ini secara manual.
Kesimpulan
Seperti rangka kerja yang baik, Yii membantu anda membuat aplikasi web moden dengan cepat, dan pastikan mereka berfungsi dengan baik. Ia mendorong anda untuk membuat laman web yang selamat dan boleh diuji dengan melakukan banyak mengangkat berat untuk anda. Anda boleh menggunakan kebanyakan ciri -cirinya dengan mudah seperti yang disediakan, atau anda boleh mengubah suai setiap satu untuk memenuhi keperluan anda. Saya benar -benar menggalakkan anda untuk menyemaknya untuk projek web anda yang seterusnya!
adakah anda telah mencuba yii 2? Adakah anda? Marilah kita tahu!
Soalan Lazim (Soalan Lazim) Mengenai Rangka Kerja Yii 2
Kenapa rangka kerja Yii 2 dianggap sangat extensible? Ini bermakna jika pemaju perlu menyesuaikan cara rangka kerja mengendalikan tugas -tugas tertentu, mereka boleh melakukannya tanpa perlu mengubah suai kod teras secara langsung. Ini adalah kelebihan yang ketara kerana ia membolehkan tahap fleksibiliti dan kebolehsuaian yang tinggi, menjadikannya lebih mudah untuk menyesuaikan rangka kerja untuk memenuhi keperluan projek tertentu. > Rangka kerja Yii 2 memastikan prestasi tinggi melalui teknik pemuatan malas yang cekap. Ini bermakna ia hanya memuat komponen yang diperlukan untuk proses tertentu, dengan itu mengurangkan beban pada pelayan dan meningkatkan prestasi keseluruhan aplikasi. Di samping itu, Yii 2 juga menyokong caching data, yang seterusnya meningkatkan prestasinya. . Ia menyediakan alat terbina dalam untuk pengesahan input, penapisan output, pencegahan suntikan SQL, dan pencegahan skrip lintas tapak (XSS). Ciri -ciri ini menjadikannya pilihan yang selamat untuk membangunkan aplikasi web yang perlu mengendalikan data sensitif. alat, gii. GII membolehkan pemaju dengan cepat menjana kod untuk model, pengawal, bentuk, modul, dan sambungan. Ini mengurangkan masa yang diperlukan untuk menulis kod boilerplate, yang membolehkan pemaju memberi tumpuan lebih kepada logik perniagaan. direka untuk berfungsi dengan lancar dengan kod pihak ketiga. Ia menggunakan Pengurus Ketergantungan Komposer, yang memudahkan untuk mengintegrasikan perpustakaan dan pakej pihak ketiga ke dalam aplikasi Yii 2 anda. mempunyai sistem pengendalian ralat dan pembalakan yang komprehensif. Ia boleh mengendalikan kedua -dua kesilapan dan pengecualian PHP, dan ia menyediakan pelbagai sasaran pembalakan, termasuk fail, e -mel, dan konsol penyemak imbas. Ini menjadikan lebih mudah untuk menyahpepijat dan membetulkan isu dalam aplikasi anda.
adalah rangka kerja YII 2 yang sesuai untuk membangunkan aplikasi web yang kompleks? Ia menyediakan pelbagai alat dan ciri -ciri, seperti seni bina MVC, lapisan abstraksi pangkalan data, dan sokongan caching, yang menjadikannya lebih mudah untuk membina dan mengekalkan aplikasi yang kompleks.
rangka kerja YII 2 menyediakan sokongan yang luas untuk pengantarabangsaan (I18N). Ia termasuk ciri -ciri untuk pemformatan tarikh dan masa, pemformatan nombor, dan terjemahan mesej, menjadikannya lebih mudah untuk membangunkan aplikasi untuk penonton global. > Rangka kerja Yii 2 mempunyai komuniti pemaju yang besar dan aktif. Terdapat banyak forum, blog, dan tutorial yang tersedia dalam talian di mana anda boleh mendapatkan bantuan dan nasihat. Di samping itu, laman web rasmi YII menyediakan dokumentasi yang komprehensif dan panduan pengguna. prestasi, ciri keselamatan, dan kelanjutan. Ia juga menyokong perkembangan pesat, menjadikannya pilihan yang popular untuk kedua-dua projek kecil dan berskala besar. Walau bagaimanapun, rangka kerja terbaik untuk projek bergantung kepada keperluan khusus dan kepakaran pasukan pembangunan.Atas ialah kandungan terperinci 7 Sebab Memilih Rangka Kerja Yii 2. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











PHP adalah bahasa skrip yang digunakan secara meluas di sisi pelayan, terutamanya sesuai untuk pembangunan web. 1.PHP boleh membenamkan HTML, memproses permintaan dan respons HTTP, dan menyokong pelbagai pangkalan data. 2.PHP digunakan untuk menjana kandungan web dinamik, data borang proses, pangkalan data akses, dan lain -lain, dengan sokongan komuniti yang kuat dan sumber sumber terbuka. 3. PHP adalah bahasa yang ditafsirkan, dan proses pelaksanaan termasuk analisis leksikal, analisis tatabahasa, penyusunan dan pelaksanaan. 4.Php boleh digabungkan dengan MySQL untuk aplikasi lanjutan seperti sistem pendaftaran pengguna. 5. Apabila debugging php, anda boleh menggunakan fungsi seperti error_reporting () dan var_dump (). 6. Mengoptimumkan kod PHP untuk menggunakan mekanisme caching, mengoptimumkan pertanyaan pangkalan data dan menggunakan fungsi terbina dalam. 7

Dalam php, kata laluan_hash dan kata laluan 1) password_hash menjana hash yang mengandungi nilai garam untuk meningkatkan keselamatan. 2) Kata Laluan_verify Sahkan kata laluan dan pastikan keselamatan dengan membandingkan nilai hash. 3) MD5 dan SHA1 terdedah dan kekurangan nilai garam, dan tidak sesuai untuk keselamatan kata laluan moden.

PHP dan Python masing -masing mempunyai kelebihan mereka sendiri, dan memilih mengikut keperluan projek. 1.PHP sesuai untuk pembangunan web, terutamanya untuk pembangunan pesat dan penyelenggaraan laman web. 2. Python sesuai untuk sains data, pembelajaran mesin dan kecerdasan buatan, dengan sintaks ringkas dan sesuai untuk pemula.

PHP digunakan secara meluas dalam e-dagang, sistem pengurusan kandungan dan pembangunan API. 1) e-dagang: Digunakan untuk fungsi keranjang belanja dan pemprosesan pembayaran. 2) Sistem Pengurusan Kandungan: Digunakan untuk penjanaan kandungan dinamik dan pengurusan pengguna. 3) Pembangunan API: Digunakan untuk Pembangunan API RESTful dan Keselamatan API. Melalui pengoptimuman prestasi dan amalan terbaik, kecekapan dan pemeliharaan aplikasi PHP bertambah baik.

Jenis PHP meminta untuk meningkatkan kualiti kod dan kebolehbacaan. 1) Petua Jenis Skalar: Oleh kerana Php7.0, jenis data asas dibenarkan untuk ditentukan dalam parameter fungsi, seperti INT, Float, dan lain -lain. 2) Return Type Prompt: Pastikan konsistensi jenis nilai pulangan fungsi. 3) Jenis Kesatuan Prompt: Oleh kerana Php8.0, pelbagai jenis dibenarkan untuk ditentukan dalam parameter fungsi atau nilai pulangan. 4) Prompt jenis yang boleh dibatalkan: membolehkan untuk memasukkan nilai null dan mengendalikan fungsi yang boleh mengembalikan nilai null.

PHP masih dinamik dan masih menduduki kedudukan penting dalam bidang pengaturcaraan moden. 1) kesederhanaan PHP dan sokongan komuniti yang kuat menjadikannya digunakan secara meluas dalam pembangunan web; 2) fleksibiliti dan kestabilannya menjadikannya cemerlang dalam mengendalikan borang web, operasi pangkalan data dan pemprosesan fail; 3) PHP sentiasa berkembang dan mengoptimumkan, sesuai untuk pemula dan pemaju yang berpengalaman.

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP sesuai untuk pembangunan web, terutamanya dalam pembangunan pesat dan memproses kandungan dinamik, tetapi tidak baik pada sains data dan aplikasi peringkat perusahaan. Berbanding dengan Python, PHP mempunyai lebih banyak kelebihan dalam pembangunan web, tetapi tidak sebaik python dalam bidang sains data; Berbanding dengan Java, PHP melakukan lebih buruk dalam aplikasi peringkat perusahaan, tetapi lebih fleksibel dalam pembangunan web; Berbanding dengan JavaScript, PHP lebih ringkas dalam pembangunan back-end, tetapi tidak sebaik JavaScript dalam pembangunan front-end.
