Setelah membaca beberapa jawaban, saya ingin mengatakan dulu bahwa Anda tidak sering memiliki banyak pilihan tentang kerangka kerja apa yang akan Anda gunakan atau apakah Anda akan menggunakan salah satu atau tidak (sebagai seorang profesional). Saya tidak ingin mengintimidasi Anda, tetapi Anda perlu membangun cukup pemahaman tentang PHP untuk memungkinkan berpindah dari satu kerangka kerja ke kerangka kerja lainnya serta menggunakan lebih dari satu kerangka kerja sekaligus.
kapan saya harus menggunakan kerangka kerja PHP seperti CakePHP?
Tidak ada jawaban universal untuk ini. Sebagai seorang profesional, Anda akan ditugaskan untuk menyelesaikan masalah spesifik dan ini akan menjadi faktor penentu untuk kapan dan apa dari setiap proyek, terutama jika klien memiliki permintaan khusus. Tetapi secara umum, Anda akan selalu menggunakan beberapa bentuk kerangka kerja dengan PHP, kecuali jika Anda memodifikasi atau memperluas aplikasi yang sudah ada sebelumnya yang memiliki kerangka kerja sendiri (seperti Wordpress atau PHPBB).
Apa hal-hal yang ditawarkan ini dan kerangka kerja PHP serupa lainnya untuk saya?
Seperti yang dikatakan oleh dirk, mereka menawarkan abstraksi. Artinya, mereka mengambil prosedur umum multi-langkah dan mencoba membuatnya sesederhana dan sesingkat mungkin. Singkatnya, mereka mencoba menghadirkan solusi hanya-tambahkan-air untuk tugas-tugas umum.
Dan apakah benar-benar penting untuk menggunakan kerangka kerja untuk menjadi seorang profesional?
Secara umum, tidak, tidak penting menggunakan kerangka kerja untuk menjadi seorang profesional. Tetapi secara realistis, Anda tidak akan memiliki banyak karier jika Anda tidak terbiasa dengan setidaknya beberapa kerangka kerja umum. PHP tanpa kerangka kerja seperti C ++ tanpa pustaka std. Anda tidak memerlukannya, dan Anda benar-benar dapat melakukan lebih banyak tanpa itu karena Anda akan langsung menggunakan fungsionalitas blok-blok builing tingkat rendah dari bahasa tersebut, tetapi Anda akan membutuhkan waktu lebih lama untuk melakukan hal yang sama.
Dan bisakah saya membuat kerangka kerja saya sendiri untuk menyediakan fitur yang saya suka?
Iya. Bahkan, Anda mungkin akan berakhir melakukannya meskipun tanpa disengaja. Maksud saya ini bukan kerangka kerja do-all yang ekspansif, tetapi lebih seperti tool-bag fungsi dasar dan skrip yang melakukan tugas tidak umum atau cukup umum untuk ditangani oleh kerangka kerja rata-rata. Milik saya pada dasarnya terdiri dari berbagai sistem file, penanganan proses, dan rex-ex tid-bit dengan beberapa utilitas curl dan stream / socket yang berbeda.