Bagaimana untuk menggunakan program Symfony


Menggunakan Symfony boleh menjadi tugas yang kompleks dan pelbagai, bergantung pada persediaan dan keperluan aplikasi anda. Artikel ini bukan panduan langkah demi langkah, tetapi lebih kepada senarai keperluan dan pengesyoran biasa apabila digunakan. . selesai sebelum ini);

Jalankan pemindahan pangkalan data atau tugasan yang serupa untuk mengemas kini struktur data yang "berubah"

Kosongkan (sebagai pilihan, panaskan) cache anda.

Proses penggunaan juga termasuk tugasan lain, seperti:

    Tag versi tertentu kod sebagai keluaran dalam pustaka versi anda
  1. Buat kawasan pementasan untuk membina tetapan "luar talian" anda yang dikemas kini
  2. ; Jalankan sebarang ujian yang tersedia untuk memastikan kestabilan kod dan/atau pelayan;
  3. Alih keluar sebarang fail yang tidak diperlukan daripada direktori
  4. untuk memastikan persekitaran pengeluaran bersih;
Kosongkan sistem cache luaran (seperti

Memcached

atau
    Redis
  • ).
  • Cara untuk menggunakan program Symfony
  • web/Terdapat beberapa cara untuk menggunakan program Symfony. Mulakan dengan beberapa strategi penggunaan asas dan pergi dari sana.
  • Pemindahan Fail Asas Cara paling asas untuk mengatur atur cara adalah dengan menyalin fail secara manual melalui FTP/SCP (atau kaedah yang serupa). Kelemahannya ialah, sebagai contoh, semasa proses naik taraf, anda tidak mempunyai kawalan ke atas sistem. Pendekatan ini juga memerlukan anda melakukan beberapa langkah manual selepas pemindahan fail (lihat
  • Tugas selepas penempatan biasa
).

Gunakan kawalan versi

Jika anda menggunakan kawalan versi (seperti Git atau SVN), anda boleh terus menjadikan pemasangan langsung sebagai salinan repositori anda. Apabila anda bersedia untuk menaik taraf, ia semudah menarik kemas kini terkini daripada sistem kawalan versi anda.

Ini menjadikan pengemaskinian fail anda lebih mudah

, tetapi anda masih perlu mempertimbangkan untuk melaksanakan langkah tambahan secara manual (lihat

Tugas selepas penempatan biasa).

Gunakan perkhidmatan platform

Jarang digunakan

Pengguna yang mempunyai keperluan berkaitan, sila rujuk teks asal laman web rasmi Symfony. Selain itu, platform awan moden, seperti Microsoft Azure, boleh menyokong Symfony3+ dalam satu langkah.

Langkah penempatan khas sangat berbeza antara penyedia perkhidmatan yang berbeza, jadi cari perkhidmatan pilihan anda daripada artikel berasingan ini:

Menggunakan skrip binaan dan alatan lain

🎜Terdapat beberapa alatan yang boleh membantu meringankan kesakitan penggunaan. Sebahagian daripadanya hampir dibuat khusus untuk keperluan Symfony: 🎜
  • Capistrano Berfungsi dengan Symfony plugin
  • Capistrano ialah automasi pelayan jauh dan alat penggunaan yang ditulis dalam Ruby. Pemalam Symfony ialah pemalam yang memudahkan tugas berkaitan Symfony, diilhamkan oleh Capifony (ia hanya berfungsi dengan Capistrano 2)
  • sf2debpkg
  • membantu anda membina pakej asli Symfony anda.
  • Magallanes
  • Alat penggunaan "seperti Capistrano" ini dibina dalam PHP dan memudahkan pembangun PHP untuk melanjutkan keperluan mereka.
  • Fabrik
  • Pustaka kelas berasaskan Python ini menyediakan suite asas untuk "melaksanakan baris arahan setempat atau jauh serta memuat naik serta memuat turun fail".
  • Deployer
  • Ini adalah satu lagi Capistrano yang ditulis semula daripada PHP asli, dengan beberapa ciri yang disediakan khusus untuk Symfony.
  • Himpunan
  • Terdapat beberapa himpunan dengan keupayaan penggunaan tambahan yang boleh digunakan terus dalam konsol Symfony anda.
  • Skrip Asas
  • Anda sudah tentu boleh menggunakan baris arahan, Ant atau mana-mana alat binaan lain untuk menskrip penggunaan projek anda. . Penuhi keperluan:

1

$  php bin/symfony_requirements

B) Konfigurasikan fail app/config/parameters.yml

Fail ini tidak sepatutnya digunakan, tetapi diuruskan oleh alat automatik yang disediakan oleh Symfony.

C) Pasang/kemas kini vendor

Vendor anda (pakej tiga pihak) boleh dikemas kini sebelum memuat naik kod sumber (seperti mengemas kini direktori vendor/ dan kemudian memuat naik kod sumber ) atau Kemas kini selesai pada pelayan. Sama ada cara, cuma kemas kini vendor seperti biasa:

vendor/ 目录,然后再传源代码)或是到服务器上完成更新。不管哪种方式,只需像往常一样来更新vendors:

1
$  composer install --no-dev --optimize-autoloader

通过构建一个 "class map" 类映射,--optimize-autoloader 旗标大幅改进了Composer的自动加载性能。--no-dev 旗标可确保开发环境的包不被安装到生产环境。

如果在这一步你得到 "class not found" 错误,你可能需要在执行前述命令之前先运行 export SYMFONY_ENV=prod 以便 post-install-cmd 脚本运行在 prod

1

$  php bin/console cache:clear --env=prod --no-debug
1
$  php bin/console assetic:dump --env=prod --no-debug

rreee
rrreee
"

Bendera --optimize-autoloader telah dipertingkatkan dengan hebat dengan membina peta kelas "peta kelas" Prestasi pemuatan auto komposer. Bendera --no-dev memastikan pakej pembangunan tidak dipasang ke dalam pengeluaran. 🎜🎜🎜

Jika pada langkah ini anda mendapat ralat "class not found", anda Anda mungkin perlu menjalankan export SYMFONY_ENV=prod sebelum melaksanakan perintah sebelumnya supaya skrip post-install-cmd berjalan dalam prod persekitaran. 🎜🎜🎜🎜D) Kosongkan cache Symfony 🎜¶🎜🎜🎜 Pastikan anda mengosongkan (dan memanaskan) cache Symfony anda. 🎜🎜🎜🎜🎜🎜🎜🎜rrreee🎜🎜🎜🎜rrreee🎜🎜🎜🎜🎜🎜🎜🎜E) Gunakan sumber Assetic keluarkan aset: 🎜🎜🎜🎜🎜🎜 🎜🎜rrreee🎜🎜🎜🎜rrreee🎜🎜🎜🎜🎜

F) Kandungan lain! Run Database Migration

    clear APC Cache
  • run
  • Proses diuruskan)
  • Add/Edit Cron Tasksassets:install (已经在 composer install
  • Publish Assets Sumber ke Cdn
  • ...
  • Program Life Cycle: Continuous penyepaduan, jaminan kualiti, dsb.

Walaupun artikel ini merangkumi butiran teknikal proses penggunaan, kitaran hayat lengkap kod daripada pembangunan kepada pengeluaran mungkin memerlukan lebih banyak langkah (pertimbangkan penggunaan pementasan, QA [Jaminan Kualiti/Jaminan Kualiti ] ], jalankan ujian, dsb.)

pementasan, ujian, QA, penyepaduan berterusan, pemindahan pangkalan data dan keserasian ke belakang sekiranya berlaku kegagalan semuanya amat disyorkan. Terdapat pelbagai alat mudah atau kompleks, salah satunya akan menjadikan proses penggunaan untuk memenuhi keperluan persekitaran anda lebih mudah (atau lebih canggih).

Jangan lupa bahawa proses penempatan juga melibatkan pengemaskinian kebergantungan (biasanya melalui Komposer), pemindahan pangkalan data, mengosongkan cache dan perkara lain yang berpotensi, seperti menerbitkan sumber ke CDN (rujuk

Tugas pasca penempatan biasa

).