Membangun situs web Pro

Mungkin saat membaca feature di majalah ini, Anda terkadang bertanya-tanya 'dari mana mereka mendapatkan orang-orang ini?', tapi percayalah, ada beberapa metode dalam kegilaan itu. Semua orang yang berkontribusi pada bagian Komputasi Dunia Nyata di PC Pro, misalnya, adalah profesional TI yang menggunakan produk dan teknologi yang mereka tulis. Nah, seperti yang akan diberitahukan oleh biog di akhir kolom, kami memiliki konsultan Internet dan menghabiskan sebagian besar waktu kami membuat situs web untuk penerbit. Salah satu klien terbesar kami adalah Dennis Publishing, jadi kami mengetahui secara dekat cara kerja situs web PC Pro, dan oleh karena itu kami berpikir mungkin menarik bagi Anda jika kami 'membuka tudung' di situs web ini untuk menunjukkan kepada Anda bagaimana implementasi sepenuhnya menggunakan sumber terbuka perangkat lunak.

Membangun situs web Pro

Situs web PC Pro saat ini sedang dalam iterasi kelima, dan versi ini ditayangkan pada bulan September 2004. Seperti semua situs web Dennis Publishing, ini merupakan kolaborasi antara tim pengembang dan desainer internal Dennis Interactive dan perusahaan kami. Dari situs web stabil yang dioperasikan oleh Dennis Publishing, ini mungkin yang paling rumit, karena tidak hanya itu itu menerima konten dari lima majalah, itu bekerja sama dengan sepuluh sumber lain untuk menghasilkan halaman web yang Anda lihat. Semua situs web Dennis Publishing menggunakan infrastruktur perangkat keras yang sama dengan yang telah kami terapkan: kumpulan server dengan beban seimbang yang berbicara dengan sekelompok server basis data yang dikelilingi oleh kumpulan sistem pendukung yang menyediakan cadangan, pemantauan, pengembangan, dan infrastruktur jasa. Ada sekumpulan server aman terpisah untuk menangani langganan majalah online.

Halaman web

Setiap halaman website dibuat dari banyak komponen yang berasal dari berbagai sumber. Seperti yang Anda lihat dari diagram di atas, sejumlah produk perangkat lunak sumber terbuka digunakan untuk membuat situs, dan semua komponen ini direkatkan menggunakan skrip PHP. Ada dua ciri khas cara kami menggunakan PHP di situs PC Pro dan semua situs web lainnya kami menerapkan: kami tidak menyematkan kode PHP di halaman HTML, dan kami menggunakan PHP berorientasi objek fitur.

Biasanya, halaman web berbasis skrip dibangun dengan mengambil halaman HTML dan menambahkan kode program: untuk Misalnya, halaman ASP pada sistem Windows biasanya merupakan halaman HTML dengan kode Visual Basic yang disematkan dia. Demikian pula, sistem seperti Mason menyematkan Perl dan JSP Java ke dalam halaman web. Server web kemudian membaca halaman HTML yang diperbesar ini dan menjalankan kode program yang disematkan untuk menghasilkan halaman yang dikirim ke browser. Namun, di situs web PC Pro, skrip program dipisahkan dari template HTML yang menghasilkan halaman – template HTML berisi placeholder yang kemudian diisi oleh skrip PHP. Ada keuntungan manajerial dan teknis untuk pemisahan ini, karena seorang desainer HTML dapat bekerja secara terpisah pada tampilan dan nuansa halaman dari programmer yang membuat kode untuk mengimplementasikannya halaman. Karena dunia mereka dipisahkan, mereka dapat menggunakan alat yang sesuai dengan tugas mereka dan tidak 'saling tersandung'. Untuk mengimplementasikan template ini, kami menggunakan kelas Integrated Template PEAR. PEAR (PHP Extension and Application Repository) adalah perpustakaan kelas yang mengimplementasikan berbagai fungsi untuk pengembang PHP.

Kami juga menggunakan kelas lain dari PEAR, khususnya kelas DB. Kelas ini menyediakan lapisan abstraksi di atas fungsi khusus basis data, artinya skrip dapat berbicara SQL ke server database MySQL, PostgreSQL, Oracle atau ODBC tanpa khawatir tentang pustaka fungsi yang mendasarinya panggilan. Kami kemudian mengkhususkan kelas ini untuk menambahkan tingkat abstraksi lain yang menyembunyikan lokasi konten: alih-alih skrip meminta database tertentu di server tertentu, skrip meminta jenis konten tertentu. Kelas DB kemudian memetakan ini ke server atau beberapa server tertentu, bergantung pada apakah skrip berjalan di lingkungan pengembangan atau produksi. Kelas ini juga menstandarisasi kode debug dan pelaporan kesalahan; misalnya, kesalahan basis data dari lingkungan produksi dicatat ke dalam sistem tiket sehingga dapat ditangani dan diperbaiki.