Hướng dẫn create php extension
1. Zephir là gì?Chắc hẳn chúng ta đã từng nghe qua framework Phalcon PHP. Phalcon là một PHP Framework được viết bằng ngôn ngữ lập trình C, sau đó được biên dịch thành một PHP extension(thành phần mở rộng cho PHP). Thực tế thì Phalcon Framework không phải là framework đầu tiên xây dựng theo phương pháp này, trước đó Yaf Framework cũng đã được xây dựng bằng phương pháp tương tự. Mục tiêu của Phalcon là trở thành Framework có tốc độ nhanh nhất cho PHP. Mặc dù đạt được tốc độ cao, tuy nhiên với cách làm trên, Phalcon cũng gây khó cho các lập trình viên PHP vì toàn bộ mã nguồn được viết bằng C. Vì vậy, đội phát triển Phalcon đã quyết định viết lại framework này bằng ngôn ngữ lập trình Zephir. Từ đó, nhóm lập trình Phalcon Framework đã xây dựng nên Phalcon bằng ngôn ngữ Zephir. Show
Zephir, một ngôn ngữ cấp cao, mã nguồn mở được thiết kế để dễ dàng tạo và duy trì các phần mở rộng cho PHP với trọng tâm vào sự an toàn của kiểu và bộ nhớ, là một ngôn ngữ giải quyết các nhu cầu chính của một nhà phát triển PHP cố gắng để viết và biên dịch mã có thể được thực hiện bởi PHP. Zephir là một ngôn ngữ khá đơn giản, cú pháp của Zephir là sự kết hợp giữa PHP và C. Khi biên dịch, toàn bộ mã nguồn Zephir sẽ được chuyển đổi sang ngôn ngữ lập trình C, kết quả biên dịch sau đó sẽ được dùng để tạo nên PHP extension. Vậy tóm gọn zephir là cái gì vậy? Vâng, ngắn gọn thì Zephir là ngôn ngữ giúp chúng ta code một PHP extension dễ dàng hơn...... 2. Cài đặt Zephir như thế nào?2.1 Yêu cầu hệ thống:Cũng không quá khó để cài Zephir. Chúng ta có thể tham khảo hướng dẫn cài đặt tại trang Installation của Zephir. Về cơ bản chúng ta có một số thứ cần thiết như sau:
Ví dụ mình sử dụng hệ điều hành Ubuntu để cài đặt Zephir:
Kiểm tra xem PHP đã được cài thành công chưa? Có thể bạn quan tâm
Kiểm tra thư viện phát triển PHP đi kèm:
2.2 Cài đặt Zephir.Tải source của Zephir trên Github về máyvà chạy cài đặt:
Kiểm tra xem zephir đã cài thành công chưa nào:
Để chủ động, chúng ta nên set biến môi trường zephir để dễ dàng sử dụng mọi nơi:
3. Cơ bản về Zephir.3.1 Khởi tạo project.Để tạo mới một project chúng ta gõ lệnh:
Cấu trúc thư mục của project có dạng như sau:
Chúng ta có thể đọc và tìm hiểu thêm về cú pháp, cách chạy, sử dụng các hàm, thư viện tại document của Zephir: Zephir Documentation 4. Bắt tay xậy dựng một extension đơn giản!Chúng ta sẽ thử tạo một extension Route đơn giản bằng zephir: 4.1 Khởi tạo thư mục chứa source:
Cấu trúc thư mục của extension của chúng ta khá đơn giản:
4.2 Code file RouteChúng ta tạo một file route.zep:
Để đơn giản hơn, chúng ta có thể tìm một thư viện route đơn giản bằng code php, sau đó chúng ta convert sang code zephir sẽ dễ dàng hơn. hay chúng ta có thể sử dụng thư viện PHP to Zephir này để convert sang code zephir. 4.3 Biên dịch và cài đặt.Để biên dịch và cài đặt extension vào hệ thống, chúng ta có thể sử dụng cách:
Sau khi gõ lệnh trên, nếu màn hình hiển thị như thế này thì chúng ta đã biên dịch và cài đặt thành công:
Trong một số trường hợp lỗi, chúng ta có thể sử dụng cách thủ công: Trước tiên chúng ta cần biên dịch ra file extension:
Tiếp theo để tích hợp extension vào hệ thống:
Mở file php.ini lên, thêm dòng sau để kích hoạt extension lên:
4.4 Tận hưởng thành quảChúng ta có thể tạo một file php để sử dụng extension vừa code:
Như vậy là chúng ta đã hoàn thành một extension php đơn giản với zephir rồi đấy. 5. Kết luậnZephir không phải là ngôn ngữ đơn giản về mặt cú pháp, đôi khi nhìn vào cú pháp của Zephir, bạn sẽ cảm thấy khó hiểu. Bản thân đoạn code C được biên dịch ra từ Zephir cũng phức tạp hơn việc cài đặt trực tiếp bằng C. Mặc đù vậy, Zephir là một dự án hay, nó vừa đơn giản hóa việc xây dựng các PHP extension, vừa mang lại hiệu năng cao cho ứng dụng. Chúng ta có thể tạo ra nhiều thứ khác hay ho với zephir như team Phalcon PHP đã làm được. Hi vọng rằng bài viết sẽ có ích với các bạn. 6. Một số tài liệu liên quan:
|