Bước 1 Tạo một dự án
Tạo một dự án mới có tên là "BookStore" trong PHP bằng cách sử dụng lệnh sau đây.oil create bookstore
Bước 2 Tạo bố cục
Tạo bố cục mới cho ứng dụng của chúng tôi. Tạo một tệp, layout.php tại vị trí nhiên liệu / app / views / layout.php. Mã như sau,nhiên liệu / ứng dụng / lượt xem / layout.php
<!DOCTYPE html> <html lang = "en"> <head> <meta charset = "utf-8"> <meta http-equiv = "X-UA-Compatible" content = "IE = edge"> <meta name = "viewport" content = "width = device-width, initial-scale = 1"> <title><?php echo $title; ?></title> <!-- Bootstrap core CSS --> <link href = "/assets/css/bootstrap.min.css" rel = "stylesheet"> <script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"> </script> <script src = "/assets/js/bootstrap.min.js"></script> </head> <body> <nav class = "navbar navbar-inverse navbar-fixed-top"> <div class = "container"> <div class = "navbar-header"> <button type = "button" class = "navbar-toggle collapsed" datatoggle = "collapse" data-target = "#navbar" aria-expanded = "false" ariacontrols = "navbar"> <span class= "sr-only">Toggle navigation</span> <span class = "icon-bar"></span> <span class = "icon-bar"></span> <span class = "icon-bar"></span> </button> <a class = "navbar-brand" href = "#">FuelPHP Sample</a> </div> <div id = "navbar" class = "collapse navbar-collapse"> <ul class = "nav navbar-nav"> <li class = "active"><a href = "/book/index">Home</a></li> <li><a href = "/book/add">Add book</a></li> </ul> </div><!--/.nav-collapse --> </div> </nav> <div class = "container"> <div class = "starter-template" style = "padding: 50px 0 0 0;"> <?php echo $content; ?> </div> </div><!-- /.container --> </body> </html>Ở đây, chúng tôi đang sử dụng mẫu bootstrap. PHP có hỗ trợ lớp học đầu tiên cho các mẫu bootstrap. Chúng tôi đã tạo hai biến, tiêu đề và nội dung. tiêu đề được sử dụng để chỉ định tiêu đề và nội dung của trang hiện tại được sử dụng để chỉ định chi tiết trang hiện tại.
Bước 3 Tạo bộ điều khiển
Tạo bộ điều khiển mới, Controller_Book để hiển thị, thêm, chỉnh sửa và xóa sách. Tạo một tập tin mới, nhiên liệu / ứng dụng / lớp / điều khiển / book.php và đặt mã sau đây.nhiên liệu / ứng dụng / lớp / bộ điều khiển / book.php
<?php class Controller_Book extends Controller_Template { public $template = 'layout'; public function action_index() { // Create the view object $view = View::forge('book/index'); // set the template variables $this->template->title = "Book index page"; $this->template->content = $view; } }Ở đây, chúng tôi đã tạo bộ điều khiển sách bằng cách kế thừa bộ điều khiển mẫu và đặt mẫu mặc định là fuel / app / views / layout.php.
Bước 4 Tạo chế độ xem chỉ mục
Tạo thư mục, đặt trong thư mục lượt xem trong thư mục nhiên liệu / ứng dụng / chế độ xem. Sau đó, tạo một tệp index.php bên trong thư mục sách và thêm mã sau đây,nhiên liệu / ứng dụng / lượt xem / index.php
<h3>index page</h3>Hiện tại, chúng tôi đã tạo ra một bộ điều khiển sách cơ bản.
Bước 5 Sửa đổi tuyến đường mặc định
Cập nhật tuyến đường mặc định để đặt trang chủ của ứng dụng để đặt bộ điều khiển. Mở tệp cấu hình định tuyến mặc định, fuel / app / config / routes.php và thay đổi nó như sau.nhiên liệu / app / config / routes.php
<?php return array ( '_root_' => 'book/index', // The default route '_404_' => 'welcome/404', // The main 404 route 'hello(/:name)?' => array('welcome/hello', 'name' => 'hello'), );Bây giờ, yêu cầu URL, http: // localhost: 8080 / sẽ trả về trang chỉ mục của trình điều khiển sách như sau
![]() |
| Học lập trình PHP |
Bước 6 Tạo cơ sở dữ liệu
Tạo một cơ sở dữ liệu mới trong máy chủ MySQL, sử dụng lệnh saucreate database tutorialspoint_bookdb
Sau đó, tạo một bảng bên trong cơ sở dữ liệu bằng cách sử dụng lệnh sau,CREATE TABLE book ( id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(80) NOT NULL, author VARCHAR(80) NOT NULL, price DECIMAL(10, 2) NOT NULL );Chèn một số bản ghi mẫu vào bảng bằng cách sử dụng câu lệnh SQL sau.
INSERT INTO book(title, author, price) VALUES( 'The C Programming Language', 'Dennie Ritchie', 25.00 ),( 'The C++ Programming Language', 'Bjarne Stroustrup', 80.00 ),( 'C Primer Plus (5th Edition)', 'Stephen Prata', 45.00 ),('Modern PHP', 'Josh Lockhart', 10.00),( 'Learning PHP, MySQL & JavaScript, 4th Edition', 'Robin Nixon', 30.00 )
Bước 7 Cấu hình cơ sở dữ liệu
Cấu hình cơ sở dữ liệu bằng cách sử dụng tệp cấu hình cơ sở dữ liệu, db.php nằm ở nhiên liệu / app / config.nhiên liệu / app / config / db.php
<?php return array ( 'development' => array ( 'type' => 'mysqli', 'connection' => array ( 'hostname' => 'localhost', 'port' => '3306', 'database' => 'tutorialspoint_bookdb', 'username' => 'root', 'password' => 'password', 'persistent' => false, 'compress' => false, ), 'identifier' => '`', 'table_prefix' => '', 'charset' => 'utf8', 'enable_cache' => true, 'profiling' => false, 'readonly' => false, ), 'production' => array ( 'type' => 'mysqli', 'connection' => array ( 'hostname' => 'localhost', 'port' => '3306', 'database' => 'tutorialspoint_bookdb', 'username' => 'root', 'password' => 'password', 'persistent' => false, 'compress' => false, ), 'identifier' => '`', 'table_prefix' => '', 'charset' => 'utf8', 'enable_cache' => true, 'profiling' => false, 'readonly' => false, ), );
Bước 8 Bao gồm gói Orm
Cập nhật tệp cấu hình chính để bao gồm gói ORM. Nó nằm ở "nhiên liệu / app / config /".nhiên liệu / app / config / config.php
'always_load' => array ( 'packages' => array ( 'orm' ), ),
Bước 9 Tạo mô hình
Tạo một mô hình sách trong book.php tại “fuel / app / classes / model”. Nó được định nghĩa như sau:nhiên liệu / ứng dụng / lớp học / mô hình / book.php
<?php class Model_Book extends Orm\Model { protected static $_connection = 'production'; protected static $_table_name = 'book'; protected static $_primary_key = array('id'); protected static $_properties = array ( 'id', 'title' => array ( 'data_type' => 'varchar', 'label' => 'Book title', 'validation' => array ( 'required', 'min_length' => array(3), 'max_length' => array(80) ), 'form' => array ( 'type' => 'text' ), ), 'author' => array ( 'data_type' => 'varchar', 'label' => 'Book author', 'validation' => array ( 'required', ), 'form' => array ( 'type' => 'text' ), ), 'price' => array ( 'data_type' => 'decimal', 'label' => 'Book price', 'validation' => array ( 'required', ), 'form' => array ( 'type' => 'text' ), ), ); protected static $_observers = array('Orm\\Observer_Validation' => array ( 'events' => array('before_save') )); }Ở đây, chúng tôi đã chỉ định các chi tiết cơ sở dữ liệu như các thuộc tính của mô hình. Nó cũng có các chi tiết xác thực.
Bước 10 Hiển thị sách
Cập nhật hành động chỉ mục trong bộ điều khiển sách để liệt kê các sách có sẵn trong cơ sở dữ liệu.nhiên liệu / ứng dụng / lớp / bộ điều khiển / book.php
<?php class Controller_Book extends Controller_Template { public $template = 'layout'; public function action_index() { // Create the view object $view = View::forge('book/index'); // fetch the book from database and set it to the view $books = Model_Book::find('all'); $view->set('books', $books); // set the template variables $this->template->title = "Book index page"; $this->template->content = $view; } }Ở đây, chúng tôi đã sử dụng orm để lấy các chi tiết sách từ cơ sở dữ liệu và sau đó chuyển các chi tiết sách tới các khung nhìn.
Bước 11 Cập nhật chế độ xem chỉ mục
Cập nhật tệp tin index.php xem tại “fuel / app / views / book”. Mã được cập nhật hoàn chỉnh như sau,nhiên liệu / ứng dụng / lượt xem / sách / index.php
<table class = "table"> <thead> <tr> <th>#</th> <th>Title</th> <th>Author</th> <th>Price</th> <th></th> </tr> </thead> <tbody> <?php foreach($books as $book) { ?> <tr> <td><?php echo $book['id']; ?></td> <td><?php echo $book['title']; ?></td> <td><?php echo $book['author']; ?></td> <td><?php echo $book['price']; ?></td> <td> <a href = "/book/edit/<?php echo $book['id']; ?>">Edit</a> <a href = "/book/delete/<?php echo $book['id']; ?>">Delete</a> </td> </tr> <?php } ?> </tbody> </table> <ul> </ul>Bây giờ, yêu cầu URL, http: // localhost: 8080 / sẽ hiển thị trang như sau:
![]() |
| Học lập trình PHP |
Bước 12 Tạo hành động để thêm sác
Tạo chức năng để thêm sách mới vào hiệu sách. Tạo một hành động mới, action_add trong bộ điều khiển cuốn sách như sau,
public function action_add() { // create a new fieldset and add book model $fieldset = Fieldset::forge('book')->add_model('Model_Book'); // get form from fieldset $form = $fieldset->form(); // add submit button to the form $form->add('Submit', '', array('type' => 'submit', 'value' => 'Submit')); // build the form and set the current page as action $formHtml = $fieldset->build(Uri::create('book/add')); $view = View::forge('book/add'); $view->set('form', $formHtml, false); if (Input::param() != array()) { try { $book = Model_Book::forge(); $book->title = Input::param('title'); $book->author = Input::param('author'); $book->price = Input::param('price'); $book->save(); Response::redirect('book'); } catch (Orm\ValidationFailed $e) { $view->set('errors', $e->getMessage(), false); } } $this->template->title = "Book add page"; $this->template->content = $view; }Ở đây, hai quy trình sau đang được thực hiện,
Tạo biểu mẫu sách để thêm sách bằng cách sử dụng phương pháp Fieldset và Mô hình sách.
Đang xử lý biểu mẫu sách, khi người dùng nhập thông tin sách và gửi lại biểu mẫu. Nó có thể được tìm thấy bằng cách kiểm tra phương thức Input :: param () cho bất kỳ dữ liệu được gửi nào. Xử lý biểu mẫu liên quan đến các bước sau
Thu thập thông tin sách.
Xác thực thông tin sách. Chúng tôi đã thiết lập xác thực để được gọi trước khi lưu phương thức. Nếu xác thực không thành công, nó sẽ ném ngoại lệ Orm \ ValidationFailed.
Lưu trữ thông tin sách vào cơ sở dữ liệu.
Chuyển hướng người dùng đến trang chỉ mục thành công. Nếu không, hãy hiển thị lại biểu mẫu.
Lưu trữ thông tin sách vào cơ sở dữ liệu.
Chuyển hướng người dùng đến trang chỉ mục thành công. Nếu không, hãy hiển thị lại biểu mẫu.
Chúng tôi đang làm cả hai, hiển thị biểu mẫu cũng như xử lý biểu mẫu trong cùng một hành động. Khi người dùng gọi hành động lần đầu tiên, nó sẽ hiển thị biểu mẫu. Khi người dùng nhập thông tin sách và gửi dữ liệu, thì nó sẽ xử lý biểu mẫu.
Bước 13 Tạo chế độ xem để thêm tác vụ sách
Tạo chế độ xem để thêm tác vụ sách. Tạo một tệp mới, nhiên liệu / ứng dụng / lượt xem / book / add.php và nhập mã sau đây,<style> #form table { width: 90%; } #form table tr { width: 90% } #form table tr td { width: 50% } #form input[type = text], select { width: 100%; padding: 12px 20px; margin: 8px 0; display: inline-block; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; } #form input[type = submit] { width: 100%; background-color: #3c3c3c; color: white; padding: 14px 20px; margin: 8px 0; border: none; border-radius: 4px; cursor: pointer; } #form div { border-radius: 5px; background-color: #f2f2f2; padding: 20px; } </style> <div id = "form"> <h2>Book form</h2> <?php if(isset($errors)) { echo $errors; } echo $form; ?> </div>Ở đây, chúng tôi chỉ hiển thị biểu mẫu được tạo trong phương thức hành động. Ngoài ra, chúng tôi đang hiển thị các lỗi, nếu có.
Bước 14 Kiểm tra hành động thêm sách
Yêu cầu url, http: // localhost: 8080 / book / add hoặc nhấp vào liên kết Thêm sách điều hướng, sẽ hiển thị biểu mẫu như sau,Hình thức
![]() |
| Học PHP |
Biểu mẫu với dữ liệu
Sau khi nhập thông tin sách và gửi trang, thông tin sách sẽ được lưu trữ vào cơ sở dữ liệu và trang được chuyển hướng đến trang chỉ mục như sau.
Danh mục sách với sách mới được thêm vào
![]() |
| Học PHP |
Bước 15 Tạo hành động để chỉnh sửa sách
Tạo chức năng chỉnh sửa và cập nhật thông tin sách hiện có. Tạo một hành động mới, action_edit trong bộ điều khiển cuốn sách như sau.public function action_edit($id = false) { if(!($book = Model_Book::find($id))) { throw new HttpNotFoundException(); } // create a new fieldset and add book model $fieldset = Fieldset::forge('book')->add_model('Model_Book'); $fieldset->populate($book); // get form from fieldset $form = $fieldset->form(); // add submit button to the form $form->add('Submit', '', array('type' => 'submit', 'value' => 'Submit')); // build the form and set the current page as action $formHtml = $fieldset->build(Uri::create('book/edit/' . $id)); $view = View::forge('book/add'); $view->set('form', $formHtml, false); if (Input::param() != array()) { try { $book->title = Input::param('title'); $book->author = Input::param('author'); $book->price = Input::param('price'); $book->save(); Response::redirect('book'); } catch (Orm\ValidationFailed $e) { $view->set('errors', $e->getMessage(), false); } } $this->template->title = "Book edit page"; $this->template->content = $view; }Nó tương tự như thêm hành động, ngoại trừ nó tìm kiếm các cuốn sách được yêu cầu bằng id trước khi xử lý trang. Nếu bất kỳ thông tin sách nào được tìm thấy trong cơ sở dữ liệu, nó sẽ tiếp tục và hiển thị thông tin sách trong biểu mẫu. Nếu không, nó sẽ ném tập tin không tìm thấy ngoại lệ và thoát.
Bước 16 Tạo chế độ xem để chỉnh sửa hành động
Tạo chế độ xem cho tác vụ chỉnh sửa sách. Ở đây, chúng tôi đang sử dụng cùng một chế độ xem được sử dụng để thêm hành động.Bước 17 Kiểm tra hành động của sách chỉnh sửa.
Nhấp vào liên kết chỉnh sửa của bất kỳ sách nào trong trang danh sách sách, nó sẽ hiển thị dạng sách tương ứng như sau:Mẫu với chi tiết sách
![]() |
| Học lập trình PHP |
Bước 18 Tạo hành động để xóa sách
Tạo chức năng xóa sách từ hiệu sách. Tạo một hành động mới, action_delete trong bộ điều khiển cuốn sách như sau,
Cuối cùng, tất cả các chức năng để thêm, chỉnh sửa, xóa và liệt kê thông tin sách được tạo.
PHP đơn giản, linh hoạt, có thể mở rộng và dễ cấu hình hơn so với các khung công tác PHP dựa trên MVC khác. Nó cung cấp tất cả các tính năng của khung MVC hiện đại. Nó có thể được sử dụng như là hoặc có thể được thay đổi hoàn toàn cho phù hợp với nhu cầu của chúng tôi. Trên tất cả, nó là một lựa chọn tuyệt vời cho phát triển web.
public function action_delete($id = null) { if ( ! ($book = Model_Book::find($id))) { throw new HttpNotFoundException(); } else { $book->delete(); } Response::redirect('book'); }Ở đây, chúng tôi đang kiểm tra sự tồn tại của cuốn sách trong cơ sở dữ liệu bằng cách sử dụng id sách được cung cấp. Nếu sách được tìm thấy, nó sẽ bị xóa và chuyển hướng đến trang chỉ mục. Nếu không, một trang không tìm thấy thông tin sẽ được hiển thị.
Bước 19 Kiểm tra hành động xóa
Kiểm tra hành động xóa bằng cách nhấp vào liên kết xóa trong trang danh sách sách. Nó sẽ xóa các cuốn sách được yêu cầu và sau đó một lần nữa được chuyển hướng đến trang chỉ mục.Cuối cùng, tất cả các chức năng để thêm, chỉnh sửa, xóa và liệt kê thông tin sách được tạo.
PHP đơn giản, linh hoạt, có thể mở rộng và dễ cấu hình hơn so với các khung công tác PHP dựa trên MVC khác. Nó cung cấp tất cả các tính năng của khung MVC hiện đại. Nó có thể được sử dụng như là hoặc có thể được thay đổi hoàn toàn cho phù hợp với nhu cầu của chúng tôi. Trên tất cả, nó là một lựa chọn tuyệt vời cho phát triển web.





Không có nhận xét nào:
Đăng nhận xét