12/08/2018, 15:45

Tạo một RESTful API đơn giản với PHP và MySQL

Tớ là một mobile dev . Việc một mobile dev muốn viết 1 backend cho riêng mình không phải điều gì quá mới mẻ, nhưng đó là với những bạn đã làm, trong khi còn đâu đó những anh em muốn được bắt tay vào làm 1 backend kết hợp với frontend(mobile app) của chính anh em. Như tiêu đều, bài hôm nay tớ sẽ ...

Tớ là một mobile dev. Việc một mobile dev muốn viết 1 backend cho riêng mình không phải điều gì quá mới mẻ, nhưng đó là với những bạn đã làm, trong khi còn đâu đó những anh em muốn được bắt tay vào làm 1 backend kết hợp với frontend(mobile app) của chính anh em. Như tiêu đều, bài hôm nay tớ sẽ giới thiệu cho các bạn cách xây dựng 1 backend đơn giản với PHP và MySQL.

Mô hình phổ biến hiện nay là các tác vụ,chức năng,lưu trữ,xử lý,đa nhiệm… sẽ được đưa toàn bộ lên Cloud – Server. Nghĩa là ứng dụng của bạn viết ra để làm cầu nối (đúng theo cả nghĩa đen và nghĩa bóng) vô cùng tuyệt vời giữa Cloud – Server và End Users. Kiểu kiểu như này:

Hôm nay tớ sẽ chia sẻ chút về 3 cái cục www màu xanh và vô số cục đên xì có gắn mác Server Stack.

Như ở trên tớ đã nói về nhiệm vụ của Server rồi,giờ sẽ chỉ nói về Webservice(có thể gọi là backend) – thao tác với Database server,xử lý các tác vụ mà client mobile gửi đến rồi sau đó phản hồi lại dưới dạng các cấu trúc NoSQL như JSON,BJSON hay XML. Ở đây tớ lựa chọn ngôn ngữ PHP vì những lý do sau:

– Dễ tiếp cận.

– Dễ hiểu cho những bạn newbie như tớ. Còn về performance hay multi-tasks thì có lẽ Node.js là sự lựa chọn tối ưu?

Bắt đầu với việc chạy một PHP page trên server thật thì trước mắt cần run-test loop trên server giả lập(localhost) cái đã. Có rất nhiều tools cho phép bạn làm điều này, ví dụ như trên window có:

Wamp Server - XAMPP

Cái tớ đang sử dụng là AMPPS đang chạy trên nền tảng MacOS. Link tải và introduction ở đây: http://www.ampps.com

Về configuration thì cũng khá đơn giản, bạn cần đưa toàn bộ source vào thư mục: /Applications/AMPPS/www Xong xuôi thì các bạn chạy ứng dụng: Tiếp theo click vào nút Start bên Apache để kích hoạt localhost và nút Start bên MySQL để kích hoạt db server nhé. Sau khi đã start thì các bạn vào trình duyệt và gõ http://localhost sẽ list ra toàn bộ thư mục của bạn đã được giả lập như nằm trên server như này: Tớ tạo 1 thư mục có tên là testExample,trong đó tớ tạo tiếp 1 sub folder với tên là config và sau cùng là 1 PHP file với tên là systemConfig.php. File này có nhiệm vụ mở cổng giao tiếp với MySQL và định nghĩa các HTTP statu codes trả về khi bạn thao tác với server (link tham khảo về chúng đây: https://en.wikipedia.org/wiki/List_of_HTTP_status_codes)

OK,cứ tạm thời tạo ra thư mục và file như vậy.Giờ là lên xem MySQL server thế nào đã. Với các bạn đã có kinh nghiệm lập trình web thì chẳng xa lạ gì nữa rồi. Các bạn gõ lên trình duyệt link: http://localhost/phpmyadmin

Các bạn sẽ thao tác trên đó để tạo DB,tạo bảng,insert dữ liệu, sử dụng SQL statements để truy vấn…blah,blah, những cái này chắc khỏi cần guide nữa. Ảnh trên tớ tạo 1 db tên là xxx, 1 table đơn giản cũng tên xxx với 2 trường đơn giản gồm: image_id (lưu id,tự động tăng) và image_url(lưu url của image lấy từ trên Google về). Viết 1 câu lệnh SQL statement đơn giản: Select * from xxx thì nó trả ra như này: OK, giờ viết code nào

0