Chương 1: TỔNG QUAN CƠ SỞ LÝ THUYẾT VÀ NGÔN NGỮ SỬ DỤNG 1. Trình bày về ngôn ngữ PHP 1. Giới thiệu ngôn ngữ PHP PHP – viết tắt hồi quy của “Hypertext Preprocessor”, là ngôn ngữ lập trình kịch bản được chạy ở phía server nhằm sinh ra mã html trên client. PHP đã trải qua rất nhiều phiên bản và được tối ưu hóa cho các ứng dụng web, với cách viết mã rõ ràng, tốc độ nhanh, dễ học nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web rất phổ biến và được ưa chuộng.
PHP là ngôn ngữ lập trình mã nguồn mở và điều này có nghĩa là bạn có thể sử dụng PHP hoàn toàn miễn phí. PHP có thể chạy trên nhiều nền tảng hệ điều hành khác nhau như Windows, Mac OS và Linux. Phiên bản đầu tiên của PHP được viết bởi Rasmus Lerdorf và cho ra mắt vào năm 1994. Hiện nay PHP đang là một trong những ngôn ngữ phổ biến hàng đầu được dùng trong lập trình web.
PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị cơ sở dữ liệu nên PHP thường đi kèm với Apache, MySQL và hệ điều hành Linux. Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trình duyệt người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trình duyệt. MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress, Oracle, SQL Server…) đóng vai trò là nơi lưu trữ và truy vấn dữ liệu. Linux là hệ điều hành mã nguồn mở được sử dụng rất rộng rãi cho các webserver.
Thông thường các phiên bản được sử dụng nhiều nhất là RedHat Enterprise Linux, Ubuntu… PHP hoạt động như thế nào? Khi người sử dụng gọi trang PHP, Web Server sẽ triệu gọi PHP Engine để thông dịch trang PHP và trả kết quả cho người sử dụng như hình bên dưới. Mô hình hoạt động của PHP 1. Các bước cài đặt WebServer Bước 1: Download Xampp tại địa chỉ https://www.html và tiến hành cài đặt như các chương trình thông thường. Bước 2: Start Apache và MySQL trong XAMPP control panel Hình 2.
Khởi động Apache và MySQL trong Xampp 4 Bước 3: Gõ vào trình duyệt địa chỉ localhost. Nếu hiện ra màn hình sau thì việc cài đặt đã thành công. Chạy xampp trên trình duyệt. Bước 4: Vào thư mục cài đặt Xampp/htdocs và tiến hành tạo file test.php với nội dung như sau: <?php echo “Hello World”; ?> Bước 5: Gõ trên trình duyệt địa chỉ localhost/test.
Nếu hiện ra dòng chữ Hello World nghĩa là ứng dụng PHP đầu tiên đã chạy thành công. Chạy ứng dụng PHP đầu tiên 5 1. Tổng quan về framework Laravel 1. Tổng quan Laravel là một framework MVC (Model – View - Controller) của PHP với bundles, migrations và Artisan CLI.
Laravel cung cấp một bộ công cụ mạnh mẽ và một cấu trúc ứng dụng kết hợp nhiều tính năng nỗi trội của các framework khác như là Codeigniter, Yii, Ruby on Rails, ASP.NET MVC, Sinatra… Laravel là một framework mã nguồn mở. Nó có rất nhiều các tính năng mà có thể giúp bạn tăng tốc quá trình phát triển website lên một cách nhanh chóng. Nó sẽ giúp bạn tiết kiệm một khối lượng thời gian đáng kể nếu như bạn đang có ý định xây dựng một website từ đầu. Không chỉ vậy, website được xây dựng trên nền Laravel cực kỳ bảo mật tốt.
Nó sẽ ngăn chặn được rất nhiều các kiểu tấn công từ bên ngoài tới website của bạn. Laravel cung cấp cho người dùng những tính năng nổi bật sau: Mô đun Khả năng test tốt Routing (định tuyến) Quản lý mọi cấu hình (Configuration Managerment) Các công cụ xây dựng truy vấn và mối quan hệ giữa các đối tượng Công cụ xây dựng Schema, Migrations và Seeding… Engine cho template Gửi email Xác nhận Redis Queues Bus sự kiện và lệnh b. Lịch sử phát triển Laravel được Taylor Otwell tạo ra như một giải pháp thay thế cho CodeIgniter, cung cấp nhiều tính năng quan trọng hơn như xác thực và phân quyền. Bản Laravel beta đầu tiên được phát hành vào ngày 9/6/2011, tiếp đó là Laravel 1 phát hành trong 6 cùng một tháng.
Laravel 1 bao gồm các tính năng như xác thực, bản địa hóa, model, view, session, định tuyến và các cơ cấu khác nhưng vẫn còn thiếu controller, điều này làm nó chưa thật sự là một MVC framework đúng nghĩa. Laravel 2 được phát hành vào tháng 9 năm 2011, mang đến nhiều cải tiến từ tác giả và cộng đồng. Tính năng đáng kể bao gồm hổ trợ controller, điều này thực sự biến laravel thành một framework MVC hoàn chỉnh, hổ trợ hệ thống template Blade… Laravel 3 được phát hành vào tháng 2 năm 2012, với một tấn tính năng mới bao gồm giao diện dòng lệnh CLI tên Artisan, hổ trợ nhiều hơn cho hệ thống quản trị cơ sở dữ liệu, chức năng ánh xạ CSDL Migration, hổ trợ bắt sự kiện trong ứng dụng và hệ thống quản lý gói gọi là Bundles. Laravel 4, tên mã Illuminate, được phát hành vào tháng 5 năm 2013.
Đây thực sự là sự lột xác của Laravel framework, di chuyển và tái cấu trúc các gói hổ trợ vào một tập được phân phối thông qua Composer, một chương trình quản lý gói thư viện phụ thuộc độc lập của PHP. Phiên bản Laravel 4 hổ trợ tính năng tạo và thêm dữ liệu mẫu (database seeding), hổ trợ hàng đợi, các kiểu gởi mail, hổ trợ xóa mềm. Laravel 5 được phát hành trong tháng 2 năm 2015, kết thúc vòng đời nâng cấp Laravel 4. Những tính năng nổi bật trong phiên bản này là hổ trọ lạp lịch định kỳ thực hiện nhiệm vụ thông qua một gói tên là “Scheduler”, một lớp trừu tượng gọi là “Flysystem” cho phép điều kiển việc lưu trữ từ xa đơn giản như lưu trữ trên máy local, cải tiến quản lý assets thông qua “Elixir”, đơn giản hóa quản lý xác thực với các dịch vụ bên ngoài bằng gói “Socialite”.
Laravel đang được tiếp tục cải thiện và nâng cấp phiên bản theo vòng đời của Laravel 5. Hiện tại phiên bản mới nhất là Laravel 5.4 và sắp sửa cho ra mắt Laravel 5. Tại sao nên chọn Laravel Framework Được thừa hưởng những ưu điểm và thế mạnh của các framework khác Có số lượng người sử dụng nhiều nhất Document rõ ràng, dễ học Autoload theo namespace Sử dụng mô hình ORM rất đơn giản khi thao tác với DB Các lệnh tương tác với CSDL cực kỳ ngắn gọn và thân thiện 7 Việc quản lý layout thật sự đơn giản với Blade Templating Dễ dàng tích hợp các thư viện khác vào dự án và được quản lý với Composer Phần điều hướng route rất mạnh Hình 5. Thống kê số người sử dụng framework PHP năm 2013 Nhìn qua biểu đồ ta có thể thấy Laravel framework mạnh mẽ đến thế nào.
Yêu cầu hệ thống Trước khi cài đặt Laravel, cần phải đảm bảo rằng Apache, PHP, MySQL đã được cài đặt, đối với từng phiên bản của laravel thì yêu cầu hệ thống cần phải đảm bảo được các yêu cầu sau: Sử dụng phiên bản PHP 5.9 trở lên Cần phải mở OpenSSL PHP Extension và PDO PHP Extension trong file php.env Cài đặt Composer – công cụ quản lý các thư viện trong PHP b. Quá trình cài đặt Bước 1: Mở Command window lên và di chuyển vào thư mục htdocs 8 Bước 2: Gõ lệnh sau vào command line: composer create-project laravel/laravel MyProject ′5.*′ Trong đó: laravel/laravel là tên giới thiệu của project MyProject là tên project (thư mục) của mình.* là phiên bản của laravel nếu không có thì mặc định sẽ download về bản mới nhất Hình 6. Quá trình cài đặt Laravel Bước 3: Sau khi download xong, bạn di chuyển vào thư mục project laravel vừa tạo bằng command line và chạy lệnh: php artisan serve Bước 4: Mở trình duyệt lên và gõ vào thanh địa chỉ đường dẫn http://localhost:8000 , nếu xuất hiện như hình bên dưới thì bạn đã cài đặt laravel thành công. Cài đặt Laravel thành công 9 1.
Xây dựng website trên nền tảng Laravel framework 1. Tổng quan về mô hình MVC Mô hình MVC (Models, View, Controller) là một kiến trúc phần mềm hay mô hình thiết kế được sử dụng trong kỹ thuật phần mềm, nó giúp cho các lập trình viên tách ứng dụng của họ ra 3 thành phần khác nhau Models, View, Controller. Mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác. Mô hình MVC trong Laravel framework Hình 8.
Mô hình MVC trong Laravel framework Controller: giữ nhiệm vụ nhận, điều hướng các yêu cầu từ người dùng và gọi đúng những phương thức mà người dùng gửi lên để xử lý chúng. View: có nhiệm vụ tiếp nhận dữ liệu từ controller gửi sang và hiển thị các thông tin đó sang các đoạn mã HMTL. Model: có nhiệm vụ thao tác đến CSDL, nghĩa là nó sẽ chứa tất cả các hàm, các phương thức truy vấn trực tiếp với dữ liệu và Controller sẽ thông qua các hàm, phương thức để lấy dữ liệu trả về cho View. Xây dựng website với Laravel framework theo mô hình MVC a.
Cách sử dụng Route trong Laravel Route nhận nhiệm vụ định tuyến đến những controller cụ thể từ phía request của người sử dụng. 10 Các định tuyến trong Laravel framework được viết trong file routes/web.php với cách khai báo chuẩn như sau: Route::method(′url′, ′function callback′); Trong đó: method: là các phương thức như: get, post, put, delete… url: là dạng link trên url function callback: là hàm sẽ được gọi khi link url được chạy Một số cách khai báo Route: Route basic (điều khiển căn bản): đây là cách khai báo cơ bản nhất Ví dụ: Route::get(′basic′, function(){ return ″Đây là route basic″; }); Route parameters (sử dụng tham số trong bộ định tuyến): Trong trường hợp muốn gửi kèm tham số cho bộ định tuyến thì ta cần khai báo theo dạng có tham số. Ví dụ: Route::get(′parameters/{ten}/{tuoi}′, function($ten, $tuoi){ echo ″Xin chào, tôi là: ″.″ tuổi″; }); Route filters (bộ lọc định tuyến): đây là bộ lọc định tuyến cho phép chúng ta kiểm tra trước khi truy cập vào đường dẫn đó. Cú pháp: Route::filter(′tên filter′, function(){ //code xử lý chương trình }); Route group (gộp nhóm bộ định tuyến): cho phép nhóm các route lại để dễ dàng quản lý.
Cú pháp: Route::group(['prefix' => 'admin', function(){ Route::get('user', function (){ echo “đây là trang nhân viên”; }); Route::get('products', function (){ echo “đây là trang dịch vụ”; 11 }); }]); b. Cách sử dụng Model, View, Controller trong Laravel Model: Trong các PHP framework khi nói đến Model thì mặc định nó sẽ gắn liền với các thao tác tới cơ sở dữ liệu. Laravel hổ trợ cho chúng ta tạo model đơn giản bằng lệnh artisan: php artisan make:model Models/name Mỗi model là một file nằm trong thư mục App. Model Ví dụ: <?