PHP

Duyệt các bài viết được gắn thẻ PHP

58 bài viết

Hướng dẫn cài đặt và cấu hình để dùng nhiều version PHP (Multiple versions PHP)

Hướng dẫn cài đặt và cấu hình để dùng nhiều version PHP (Multiple versions PHP)

Bài viết được sự cho phép của tác giả Lê Chí Dũng Để cài đặt nhiều version php cho nhiều project website, dùng yum-config-manager để cài đặt multiple versions of PHP. Và lưu ý bài viết này dành cho những người có kiến thức cơ bản về Nginx và PHP. 1. Cài đặt và cấu hình các version PHP 1.1 Cài đặt PHP 7.1 Version # yum - config - manager - - enable remi - php71 [ Default ] # yum install php php - common php - fpm # yum install php - mysql php - pecl - memcache php - pecl - memcached php - gd php - mbstring php - mcrypt php - xml php - pecl - apc php - cli php - pear php - pdo Copy 1.2 Cài đặt PHP 5.6 Version # yum install php56 php56 - php - common php56 - php - fpm # yum install php56 - php - mysql php56 - php - pecl - memcache php56 - php - pecl - memcached php56 - php - gd php56 - php - mbstring php56 - php - mcrypt php56 - php - xml php56 - php - pecl - apc php56 - php - cli php56 - php - pear php56 - php - pdo Copy Kiểm tra version PHP mặc định. # php - v Copy 1.3 Cấu hình PHP-FPM và PHP56-PHP-FPM Đây là phần cấu hình php-fpm sẽ hoạt động tương thích với Nginx. Cần thiết lập user/group của FastCGI khi hoạt động trên Nginx sẽ listen đúng port. php-fpm (default 7.1): /etc/php-fpm.d/www.conf php56-php-fpm: /opt/remi/php56/root/etc/php-fpm.d/www.conf Mở file config đề thiết lập user/group của FastCGI. # vi / etc / php - fpm.d / www.conf [ PHP 7.1 ] # vi / opt / remi / php56...

By stationd
Top 10 PHP frameworks dành cho các dự án Web mà bạn cần biết

Top 10 PHP frameworks dành cho các dự án Web mà bạn cần biết

Các bạn hẳn cũng biết việc chọn một framework thích hợp với PHP project của mình sẽ quyết định tính thành bại của nó. Bài viết này chính là nhằm mục đích giúp bạn chọn ra được PHP framework tốt nhất cho sự nghiệp lập trình web của bạn. PHP được xem là một trong những ngôn ngữ script nổi tiếng nhất dành cho server. Ngay từ lúc được khai sinh ra vào 1995, tính phức tạp của web projects đã trở nên quá cao khiến cho việc code từ số không trở nên vô cùng khó khăn. Và như vậy, PHP framework trở thành một biện pháp vô cùng tuyệt vời. Trong bài viết này, chúng tôi sẽ giới thiệu cũng như phân tích và so sánh 10 PHP framework thông dụng nhất để bạn có thể chọn ra một framework thích hợp nhất. Các lợi ích từ việc dùng PHP framework Vì sao có rất nhiều developer lại chọn dùng PHP frameworks? Đơn giản là nó giúp công việc của chúng ta trở nên đơn giản hơn rất nhiều. Và sau đây là một số đặc điểm nổi bật của PHP frameworks: Giúp đẩy nhanh tiến độ cho quá trình phát triển Giúp bạn viết ra code vừa gọn, sạch mà lại tái sử dụng được. Cho phép khả năng mở rộng tùy thuộc vào project của bạn Được thiết kế theo MVC (Model-View-Controller) pattern Phù hợp với cách thức mới để phát triển web, ví dụ như object-oriented programming. Tuy vậy với 10 PHP frameworks thì có sự khác biệt như thế nào giữa chúng? Hãy cùng tôi so sánh và phân tích chúng: Xem tin tuyển lập trình viên PHP đãi ngộ tốt trên Station D FuelPHP framework Là một full-stack PHP framework với khả năng...

By stationd
Drupal Developer là gì? Cần học những gì để trở thành Drupal Developer

Drupal Developer là gì? Cần học những gì để trở thành Drupal Developer

Drupal là một hệ quản trị nội dung (CMS) mã nguồn mở viết bằng PHP ; trong hầu hết các bảng xếp hạng về top những CMS platform (nền tảng phát triển) phổ biến thì Drupal thường xuyên có mặt trong top 5. Điều đó cho thấy sự phổ biến và nhu cầu sử dụng rất lớn của CMS PHP này. Ở Việt Nam, nhu cầu tuyển dụng PHP luôn luôn đứng top đầu, và sẽ có nhiều nhà tuyển dụng ưu tiên cho những lập trình viên biết, thành thạo các thư viện, framework như Drupal. Bài viết hôm nay mình sẽ cùng các bạn đi tìm hiểu về CMS platform này và các kiến thức cần có để trở thành 1 Drupal Developer nhé. Drupal là gì? Như đã nói ở trên, Drupal là một hệ quản trị nội dung mã nguồn mở giúp phát triển website từ các blog cá nhân cho tới các trang web của chính phủ, doanh nghiệp, hay các trang thương mại điện tử. Hiểu đơn giản thì với Drupal, bạn có thể tạo ra website bạn cần và có sẵn những ứng dụng giúp thay đổi, chỉnh sửa nội dung website của bạn. Drupal được viết bởi Dries Buytaert – một lập trình viên người Bỉ, và được giới thiệu lần đầu tiên vào năm 2000; hiện tại nó vẫn được tác giả update phiên bản 1 cách đều đặn, mới nhất thì phiên bản Drupal 10 đang được lên kế hoạch ra mắt vào tháng 12 này. Drupal được viết bằng PHP và hoàn toàn miễn phí, vì thế nó được nhiều lập trình viên ưa chuộng. Tính đến tháng 3 năm 2021, cộng đồng Drupal bao gồm hơn 1,39 triệu thành viên, đóng góp hơn 46 nghìn module miễn phí...

By stationd
Hướng dẫn viết code PHP chuẩn – PSR tiêu chuẩn khi lập trình PHP

Hướng dẫn viết code PHP chuẩn – PSR tiêu chuẩn khi lập trình PHP

Bài viết được sự cho phép của tác giả Lê Chí Dũng Lý do bạn nên viết code theo tiêu chuẩn PSR: PSR là tiêu chuẩn code được áp dụng vào các dự án lớn hoặc framework PHP (Cakephp, Composer, Phalcon, Magento,…). Viết code chuẩn giúp bạn và đồng đội dễ dàng hiểu code của nhau. Thống nhất chung về cách thức viết code, tổ chức các class,… Dễ dàng đọc, hiểu, trình bày khỏi mất công bản thân “ tự chế ” kiểu code không giống ai. PSR là gì? PSR có nghĩa là PHP Standards Recommendations, nó là tiêu chuẩn được khuyến nghị áp dụng khi lập trình PHP và được các lập trình viên, tổ chức chấp nhận sử dụng. PSR được soạn thảo, đánh giá và khuyến khích sử dụng bởi một nhóm chuyên gia PHP những người phát triển cho các Framework và hệ thống PHP phổ biến ( thành viên PSR ). PSR bao gồm 7 phần ( http://www.php-fig.org/psr/ ) từ PSR-1, PSR-2, PSR-3, PSR-4, PSR-6, PSR-7. Các tiêu chuẩn thành phần hoàn chỉnh của PSR đó gồm: Basic Coding Standard: Tiêu chuẩn cơ bản khi viết code PHP Coding Style Guide: Tiêu chuẩn trình bày code Logger Interface: Giao diện logger Autoloading Standard: Tiêu chuẩn về tự động nạp Caching Interface: Giao diện về Caching HTTP Message Interface: Tiêu chuẩn Giao diện thông điệp HTTP PHP Autoloading là gì? PSR-4 autoloading với Composer Code PHP chuẩn convention với PHP CodeSniffer 1. PSR-1 Basic Coding Standard (Tiêu chuẩn cơ bản khi viết code PHP) PRS-1 là các nguyên tắc mỗi lập trình viên PHP nên theo để đảm bảo code dễ đọc, bảo trì, và dễ sử dụng lại cũng như chia sẻ cho đồng đội. 1. Nguyên tắc chung nhất khi code PHP...

By stationd
Đầu năm đàm đạo chuyện PHP & PHP7

Đầu năm đàm đạo chuyện PHP & PHP7

Những ngày đầu năm 2017, ắt hẳn nhà nhà người người đều tất bật chuẩn bị cho những kế hoạch của năm mới và cả những dự định cho mùa Tết Đinh Dậu đang cận kề. Tuy bận rộn là thế nhưng hơn 100 dev vẫn không quên tề tựu tại sự kiện PHP & PHP7: Secrets Behind Optimization vào 12/01 vừa qua để đàm đạo, chia sẻ những giải pháp để tối ưu 1 trong những ngôn ngữ lập trình phổ biến nhất hiện nay. Chủ đề đầu tiên bàn thảo chính là PHP Story, tổng hợp kinh nghiệm chinh chiến PHP hơn 6 năm của diễn giả Thảo Lê – Engineering Manager đến từ Harvey Nash. Ba câu hỏi được anh Thảo Lê tập trung giải quyết chính là: What kind of language is it? How do we implement PHP? How do we control quality in PHP? Trong đó, để kiểm tra chất lượng PHP, anh đã đề cập đến các cách thức như Automated Testing (Unit Tests, Test-Driven Development, Behavior-Driven Development; Automated Deployment (Shell scripts, Phing, Capistrano) cùng 1 số điểm tương quan giữa PHP & Node.js. Xem ngay tin tuyển dụng PHP lương cao trên Station D Tiếp mạch chương trình, diễn giả Khánh Trần – Technology Evangelist của GEEK Up mang đến 1 chủ đề nhận được rất nhiều sự quan tâm của cộng đông dev thời gian qua là: Docker-Composer. [HCM] Big Data Developer | Attractive Salary — Station D’s Client Tuyển Back-end developer (PHP, Laravel, MySQL) – G&G Blockchain Camp Tuyển lập trình viên PHP – Công ty Cổ phần VGP Jobs by Đặc biệt, 2 mục mà BTC, khán giả và cả anh Khánh Trần tâm đắc nhất chính là: How to set-up a Phalcon PHP Project with Docker-Composer và 10 “mẹo”...

By stationd
PHP 8 có gì mới?

PHP 8 có gì mới?

Bài viết được sự cho phép của tác giả Phạm Bình Chào anh em, PHP đã chính thức phát hành phiên bản 8.0 (26/11/2020), với nhiều cải tiến mới cả về hiệu năng lẫn cũ pháp. Trong bài viết này, chúng ta cùng review các điểm thay đổi có trong PHP 8 nhé. Trích lời dẫn trên trang chủ PHP.net PHP 8.0 là một phiên bản cập nhật lớn của PHP. Phiên bản này bao gồm rất nhiều tính năng mới, đồng thời tối ưu cách truyền tham số (có thể đặt tên khi truyền tham số), union types (một biến có thể thuộc một vài kiểu dữ liệu), attributes, constructor, biểu thức match (cú pháp mới, gần giống switch case), toán tử nullsafe (cho phép truy xuất giá trị null một cách an toàn), JIT (trình biên dịch mới, giúp PHP 8 đạt hiệu năng cao), và cải tiến các về type system, xử lý lỗi, và tính nhất quán. Chúng ta sẽ tìm hiểu lần lượt về các sự thay đổi của PHP 8 so với phiên bản trước lần lượt qua các mục dưới đây. Cách thiết lập JIT trong PHP 8 Callback trong PHP là gì? Xem thêm nhiều việc làm PHP hấp dẫn trên Station D I. TRUYỀN THAM SỐ THEO TÊN GỌI – PHP 8 Việc một function có nhiều tham số (với mình là từ 3 tham số trở nên), có thể khiến developer lúng túng khi sử dụng vì không nhớ rõ ý nghĩa của từng tham số, cũng như thứ tự truyền của chúng. Ví dụ, function mkdir() (function giúp tạo thư mục) trong PHP có 4 tham số lần lượt là: $directory : Bắt buộc, là đường dẫn để tạo thư mục $permissions : Không bắt buộc, là khả năng...

By stationd
Chuẩn coding convention trong PHP với PSR

Chuẩn coding convention trong PHP với PSR

Bài viết được sự cho phép của tác giả Phạm Bình Chào các bạn, Ngày xưa lúc mới học lập trình, thì cứ vài hôm mình lại thay đổi phong cách code một lần. Lúc thì đặt tên biến kiểu ten_bien , lúc thì đặt kiểu tenbien , lúc thì tenBien ,… đến lúc hoàn thành dự án, mặc dù code chạy không sai đọc lại thấy ngu không tả nổi, cảm giác cứ như nhìn vào tờ giấy nháp vậy. Mình đặt ra câu hỏi “Làm một mình còn code khuyết tật thế này, thế làm team thì sao, chẳng lẽ lại mạnh ai người ý code à?”. Không, không thể nào như vậy được, mình cho rằng phải có một quy ước chung nào đó. Thế là mình thử lên mạng tìm hiểu xem, thì thấy có khái niệm về coding convention giải quyết được vấn đề mình gặp phải. I. CODING CONVENTION LÀ GÌ? Coding convention dịch ra Tiếng Việt là quy ước coding . Hiểu nôm na nó là một tập hợp các quy ước về phong cách code, cách đặt tên biến, tên hàm, tên file,… để các coder tuân theo. Coding convention sẽ đem lại lợi ích nhiều hơn khi bạn làm việc nhóm. Hãy tưởng tượng nhóm 5 người và cùng tuân theo một phong cách code, thì khi người này đọc code của người kia sẽ dễ hiểu hơn, không cảm thấy “ngứa mắt” hay muốn đánh đồng nghiệp. Ý kiến cá nhân : Code không có convention là dấu hiệu thất bại đầu tiên khi làm phần mềm. Ngay cả khi bạn làm một mình, thì tuân theo coding convention cũng vẫn rất quan trọng. Những dòng code chuẩn chỉ sẽ khiến bạn có hứng thú đọc hơn là những dòng...

By stationd
Cài đặt môi trường lập trình web PHP

Cài đặt môi trường lập trình web PHP

Bài viết được sự cho phép của tác giả Phạm Bình Chào các bạn, Trên blog của mình có những bài viết cao siêu về trick nọ trick kia, thế nhưng có một điều quan trọng mà các bạn mới bắt đầu thường quan tâm đó là cài đặt những phần mềm gì vào máy tính để có thể học được lập trình web PHP thì chưa có. Vậy trong bài viết này, mình sẽ hướng dẫn các bạn cách cài đặt môi trường để có thể học lập trình web PHP nhé. I. Cài đặt code editor Code editor là phần mềm để chúng ta có thể viết code. Hiện nay có rất nhiều các code editor hỗ trợ cho lập trình web PHP, nhưng mình khuyên các bạn nên sử dụng Sublime Text 3 – một editor nhẹ nhàng nhưng vẫn đầy đủ. Sublime Text 3 có mặt trên cả 3 hệ điều hành phổ biến là Windows, Mac, Ubuntu – thoải mái cho bạn lựa chọn. Sublime Texr 3 cũng có cách cài đặt đơn giản như những phần mềm bình thường khác nên bạn đừng lo lắng nhé. II. Cài đặt trình duyệt Đối với web developer, trình duyệt không chỉ đơng giản là phần mềm để lướt web, mà nó còn là công cụ để phát triển web, vì vậy mà máy bạn có trình duyệt hay chưa không quan trọng, quan trọng là bạn đang sử dụng trình duyệt nào . Ở đây, mình gợi ý các bạn nên sử dụng Google Chrome, bởi nó nhẹ nhàng, được tích hợp tool phát triển web, lại là trình duyệt được nhiều người dùng nhất. Ở Việt Nam còn có một trình duyệt phổ biến nữa đó là trình duyệt Coccoc, bạn có thể sử dụng...

By stationd
PHP & MySQL – Các công cụ hỗ trợ “tuyệt vời”

PHP & MySQL – Các công cụ hỗ trợ “tuyệt vời”

Bài viết được sự cho phép của smartjob.vn Khơi dậy và nuôi nấng niềm đam mê lập trình Với sự phát triển mạnh mẽ của công nghệ thông tin (CNTT) mà cụ thể mà công nghệ phần mềm (CNPM), cuộc cách mạng đó đã tạo ra một khối lượng khổng lồ các phần mềm ở nhất nhiều lĩnh vực khác nhau. Việc sử dụng thành thạo và nắm bắt được tất cả các vấn đề mà một phần mềm hỗ trợ đã là rất khó đối với nhiều người sử dụng thế nên việc tạo ra phần mềm đó còn khó hơn gấp nhiều lần. Mà chỉ có niềm đam mê lập trình, tư duy sáng tạo, tư duy logic, ham học hỏi và kinh nghiệm cuộc sống mới có thể theo nghiệp lập trình viên được, ở đây chúng ta quan niệm rằng nếu hội tụ các yếu tố trên thì sẽ cho ra sản phẩm phần mềm tốt. 10 Frameworks tốt nhất hiện nay cho PHP Cài đặt MySQL Community Server trên macOS Xem thêm các việc làm PHP lương cao trên Station D Bạn sẽ rất dễ nản lòng khi mà cả ngày mới code xong một chức năng, khi mà cả ngày mới tìm ra được lỗi. Niềm vui có lẽ sẽ rất khó tả khi bạn giải quyết được vấn đề đó. Rồi một ngày, bạn gặp lỗi tương tự, bạn sửa giống như những lần trước mà tại sao nó vẫn không chạy? Rồi bạn lại mất một ngày, hai ngày thậm chí hai ngày rưỡi để tìm ra được lỗi đó là do đâu. Khi đó thì kim đồng hồ đã chỉ 2-3h sáng nhưng bạn vẫn cảm thấy thích thú và tiếp tục khám phá thế giới lập trình. Có một điều...

By stationd
Destroy Specific Session ID via PHP

Destroy Specific Session ID via PHP

Bài viết được sự cho phép của BBT Kinh nghiệm lập trình Chào các bạn, hôm nay mình xin chia sẻ 1 mẹo nhỏ trong PHP: Destroy session_id của user khác từ server. Tại sao cần làm việc này? Bài toán đặt ra: Tại một thời điểm, chỉ cho phép người dùng có duy nhất 1 phiên đăng nhập trên hệ thống. Mô tả chi tiết: Thực tế hiện tay rất nhiều hệ thống web ứng dụng bán license theo số lượng tài khoản sử dụng. Do vậy, nếu không có biện pháp ngăn chặn việc người dùng sử dụng chung tài khoản để làm việc trên hệ thống thì việc thất thoát doanh thu là khó tránh khỏi. Chính vì thế, hệ thống cần có phương án để ngăn chặn việc này, tại một thời điểm, chỉ cho phép người dùng có 1 phiên đăng nhập trên 1 thiết bị và thao tác trên hệ thống. Cách thực hiện trên với PHP? Mình sẽ nói tóm tắt các bước thực hiện, logic này có thể áp dụng tương tự với ngôn ngữ khác. Mục đích là sử dụng tài khoản hiện tại, để destroy session id khác trên server. Bước 1:Commit session ID nếu nó đã tồn tại Bước 2: Store current session id Bước 3: Destroy session specified Bước 4: Restore current session id Ứng tuyển ngay các vị trí PHP tuyển dụng mới nhất trên Station D Code demo! <?php $session_id_to_destroy = ‘nill2if998vhplq9f3pj08vjb1’ ; // 1. commit session if it’s started. if ( session_id ()) { session_commit (); } // 2. store current session id session_start (); $current_session_id = session_id (); session_commit (); // 3. hijack then destroy session specified. session_id ( $session_id_to_destroy ); session_start (); session_destroy (); session_commit (); // 4. restore current session id. If...

By stationd
Kết nối DB ORACLE từ PHP trên CENTOS 7, 8

Kết nối DB ORACLE từ PHP trên CENTOS 7, 8

Bài viết được sự cho phép của tác giả Nguyễn Văn Minh Để kết nối được đến cơ sở dữ liệu Oracle từ CentOS 7, 8, bạn cần cài đặt Oracle InstantClient. Và bạn cũng cần phần mở rộng OCI8 để gọi từ PHP. Cài đặt Oracle InstantClient Với el8 / CentOS 8 / stream / Rocky / Almalinux Trước hết, cần tải các gói cần thiết. $ cd /usr/local/src $ wget https://download.oracle.com/otn_software/linux/instantclient/215000/oracle-instantclient-basic-21.5.0.0.0-1.el8.x86_64.rpm $ wget https://download.oracle.com/otn_software/linux/instantclient/215000/oracle-instantclient-sqlplus-21.5.0.0.0-1.el8.x86_64.rpm $ wget https://download.oracle.com/otn_software/linux/instantclient/215000/oracle-instantclient-devel-21.5.0.0.0-1.el8.x86_64.rpm $ wget https://download.oracle.com/otn_software/linux/instantclient/215000/oracle-instantclient-jdbc-21.5.0.0.0-1.el8.x86_64.rpm Sau đó, cài đặt bằng lệnh sau. $ cd /usr/local/src $ dnf localinstall oracle* --nogpgcheck Với el7 / CentOS 7 Bạn cũng cần tải các gói cần thiết trước. $ cd /usr/local/src $ wget https://download.oracle.com/otn_software/linux/instantclient/215000/oracle-instantclient-basic-21.5.0.0.0-1.x86_64.rpm $ wget https://download.oracle.com/otn_software/linux/instantclient/215000/oracle-instantclient-sqlplus-21.5.0.0.0-1.x86_64.rpm $ wget https://download.oracle.com/otn_software/linux/instantclient/215000/oracle-instantclient-devel-21.5.0.0.0-1.x86_64.rpm $ wget https://download.oracle.com/otn_software/linux/instantclient/215000/oracle-instantclient-jdbc-21.5.0.0.0-1.x86_64.rpm Rồi cài đặt bằng lệnh sau. $ cd /usr/local/src $ yum localinstall oracle* --nogpgcheck Cài đặt OCI8 qua lệnh PECL Sau khi cài đặt Oracle InstantClient, bạn cần cài đặt phần mở rộng OCI8 để kết nối đến cơ sở dữ liệu Oracle từ PHP. Việc cài đặt phiên bản nào của OCI8 sẽ phụ thuộc vào phiên bản PHP bạn đang sử dụng. Bạn có hai cách để cài là dùng lệnh PECL hoặc tải package về và tự build bằng phpize và make. Trước hết, hãy tìm hiểu cách thứ nhất. Bạn gõ như sau. $ pecl install oci8 Nếu dùng PHP 7.x, thay vì oci8 , bạn dùng oci8-2.2.0 . Tức là câu lệnh bên trên sẽ trở thành như sau. $ pecl install oci8-2.2.0 Có một lưu ý, trong trường hợp bạn dùng tường lửa, bạn cần thiết lập proxy PEAR trước khi chạy lệnh PECL trên. $ pear config-set http_proxy http://my-proxy.example.com:80/ Xem ngay tin tuyển dụng PHP lương cao trên Station D Cài đặt OCI8 dùng phpize và make...

By stationd
10 điều bạn cần biết về PHP7

10 điều bạn cần biết về PHP7

Nếu bạn là một web developer hoặc một người sở hữu website? Nếu trang web của bạn chạy trên CMS PHP như WordPress, Drupal, Joomla hay Magento? Vậy thì tôi có một tin vui cho bạn đây: phiên bản đầy đủ tính năng của PHP 7 mới đây đã được tung ra thị trường, bao gồm rất nhiều tính năng thú vị khiến chung tôi phải dành ra cả một bài viết về nó. 1.Tên của nó là PHP 7 (Không phải PHP 6) Phiên bản ổn định hiện tại sử dụng phiên bản tên PHP 5.6. Tuy nhiên sau một số tranh chấp nhỏ thì đội ngũ phát triển quyết định sẽ bỏ qua PHP 6 trong lần ra mắt lớn lần này. PHP 6 thật ra đã từng tồn tại trong quá khứ như một dự án thử nghiệm nhưng đáng tiếc nó chưa bao giờ được triển khai thành một sản phẩm thật sự. Nhằm đảm bảo người dùng không bị nhầm lẫn giữa phiên bản trong quá khứ và phiên bản thật sự lần này, lần ra mắt lớn này sẽ xuất hiện dưới cái tên PHP 7. Station D Techtalk #54: PHP & PHP7 – Secrets behind Optimization *Hồ Chí Minh: 18h00 – 21h00 ngày 06/01/2017 [Malaysia] Android Engineer – Attractive Salary — KFit Asia Sdn. Bhd [HCM] Experienced Linux Developer | Attractive Salary — DEK Technologies [HCM, HN] Tuyển 05 PHP Developers (Laravel, ReactJS) – Tập đoàn Novaon Jobs by 2. Zend Engine mới Zend engine đã hỗ trợ cho PHP kể từ năm 1999 khi nó được giới thiệu với PHP 4. Zend – không giống như Zend Framework – là một engine vận hành mã nguồn mở được viết ở ngôn ngữ C và thông dịch ngôn ngữ PHP. Phiên bản PHP...

By stationd