Thứ Sáu, 5 tháng 10, 2018

CakePHP - Làm việc với cơ sở dữ liệu

Học lập trình PHP. Làm việc với cơ sở dữ liệu trong PHP rất dễ dàng. Chúng tôi sẽ hiểu các hoạt động CRUD (Tạo, Đọc, Cập nhật, Xóa) trong chương này.

Trước khi chúng ta tiến hành, chúng ta cần tạo bảng của người dùng sau trong cơ sở dữ liệu.

CREATE TABLE `users` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `username` varchar(50) NOT NULL,
   `password` varchar(255) NOT NULL,
   PRIMARY KEY (`id`)
) 
ENGINE = InnoDB AUTO_INCREMENT = 7 DEFAULT CHARSET = latin1

Hơn nữa, chúng ta cũng cần phải cấu hình cơ sở dữ liệu của chúng ta trong tệp config / app.php .

Chèn bản ghi

Để chèn một bản ghi vào cơ sở dữ liệu, trước tiên chúng ta cần giữ một bảng bằng cách sử dụng lớp TableRegistry . Chúng ta có thể lấy cá thể ra khỏi registry bằng phương thức get () . Phương thức get () sẽ lấy tên của bảng cơ sở dữ liệu làm đối số.

Ví dụ mới này được sử dụng để tạo thực thể mới. Đặt các giá trị cần thiết với cá thể của thực thể mới. Bây giờ chúng ta phải gọi phương thức save () với cá thể của lớp TableRegistry sẽ chèn bản ghi mới vào cơ sở dữ liệu.

Thí dụ

Thực hiện các thay đổi trong tệp config / routes.php như được hiển thị trong chương trình sau.

config / routes.php
<?php
   use Cake\Core\Plugin;
   use Cake\Routing\RouteBuilder;
   use Cake\Routing\Router;

   Router::defaultRouteClass('DashedRoute');
   Router::scope('/', function (RouteBuilder $routes) {
      $routes->connect('/users/add', ['controller' => 'Users', 'action' => 'add']);
      $routes->fallbacks('DashedRoute');
   });
   Plugin::routes();
Tạo một tệp UsersController.php tại src / Controller / UsersController.php . Sao chép mã sau trong tệp bộ điều khiển.

src / controller / UsersController.php
<?php
   namespace App\Controller;
   use App\Controller\AppController;
   use Cake\ORM\TableRegistry;
   use Cake\Datasource\ConnectionManager;
   use Cake\Auth\DefaultPasswordHasher;

   class UsersController extends AppController{
      public function add(){
         if($this->request->is('post')){
            $username = $this->request->data('username');
            $hashPswdObj = new DefaultPasswordHasher;
            $password = $hashPswdObj->hash($this->request->data('password'));
            $users_table = TableRegistry::get('users');
            $users = $users_table->newEntity();
            $users->username = $username;
            $users->password = $password;
         
            if($users_table->save($users))
            echo "User is added.";
         }
      }
   }
?>
Tạo một thư mục Người dùng tại src / Template và dưới thư mục đó tạo một tệp Xem có tên là add.ctp . Sao chép mã sau vào tệp đó.

src / Mẫu / Người dùng / add.ctp
<?php
   echo $this->Form->create("Users",array('url'=>'/users/add'));
   echo $this->Form->input('username');
   echo $this->Form->input('password');
   echo $this->Form->button('Submit');
   echo $this->Form->end();
?>
Thực hiện ví dụ trên bằng cách truy cập URL sau.

http: // localhost: 85 / PHP / người dùng / thêm

Đầu ra

Khi thực hiện, bạn sẽ nhận được kết quả sau.

Học lập trình PHP
Học lập trình PHP

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

Đăng nhận xét

lập trình PHP cho các nhà phát triển PERL

Chương này sẽ liệt kê những điểm tương đồng và khác biệt chính giữa PHP và PERL. Điều này sẽ giúp các nhà phát triển PERL hiểu PHP rất nhanh...