亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
插入一筆記錄
範例
輸出
首頁 後端開發(fā) php教程 CakePHP 使用資料庫

CakePHP 使用資料庫

Sep 10, 2024 pm 05:25 PM
php cakephp PHP framework

在 CakePHP 中使用資料庫非常簡單。我們將在本章中了解 CRUD(建立、讀取、更新、刪除)操作。

此外,我們還需要在 config/app_local.php 檔案中設(shè)定我們的資料庫。

'Datasources' => [
   'default' => [
      'host' => 'localhost',
      'username' => 'my_app',
      'password' => 'secret',
      'database' => 'my_app',
      'url' => env('DATABASE_URL', null),
   ],
   /*
      * The test connection is used during the test suite.
   */
   'test' => [
      'host' => 'localhost',
      //'port' => 'non_standard_port_number',
      'username' => 'my_app',
      'password' => 'secret',
      'database' => 'test_myapp',
      //'schema' => 'myapp',
   ],
],

預(yù)設(shè)連線具有以下詳細資訊 -

'host' => 'localhost',
   'username' => 'my_app',
   'password' => 'secret',
   'database' => 'my_app',

您可以根據(jù)您的選擇更改詳細信息,即主機、使用者名稱、密碼和資料庫。

完成後,請確保在 Datasources 物件的 config/app_local.php 中進行更新。

現(xiàn)在,我們將繼續(xù)上述詳細信息,轉(zhuǎn)到您的 phpmyadmin 或 mysql 資料庫並建立使用者 my_app,如下所示 -

My App

授予必要的權(quán)限並保存?,F(xiàn)在,我們有了 app_local.php 中提到的配置的資料庫詳細資訊。當您查看 CakePHP 主頁時,您應(yīng)該看到以下內(nèi)容 -

App Local

現(xiàn)在,我們將在資料庫中建立以下使用者表。

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

插入一筆記錄

要在資料庫中插入一筆記錄,我們首先需要使用 TableRegistry 類別取得一個表。我們可以使用 get() 方法從登錄中取得實例。 get() 方法將以資料庫表的名稱作為參數(shù)。

這個新實例用來建立新實體。使用新實體的實例設(shè)定必要的值。我們現(xiàn)在必須使用 TableRegistry 類別的實例呼叫 save() 方法,這將在資料庫中插入新記錄。

範例

config/routes.php 檔案中進行更改,如下列程式所示。

config/routes.php

<?php use Cake\Http\Middleware\CsrfProtectionMiddleware;
use Cake\Routing\Route\DashedRoute;
use Cake\Routing\RouteBuilder;
$routes->setRouteClass(DashedRoute::class);
$routes->scope('/', function (RouteBuilder $builder) {
   $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
      'httpOnly' => true,
   ]));
   $builder->applyMiddleware('csrf');
   //$builder->connect('/pages',['controller'=>'Pages','action'=>'display', 'home']);
   $builder->connect('/users/add', ['controller' => 'Users', 'action' => 'add']);
   $builder->fallbacks();
});

src/Controller/UsersController.php 建立一個 UsersController.php 檔案。 將以下程式碼複製到控制器檔案中。

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->getData('username');
         $hashPswdObj = new DefaultPasswordHasher;
         $password = $hashPswdObj->hash($this->request->getData('password'));
         $users_table = TableRegistry::get('users');
         $users = $users_table->newEntity($this->request->getData());
         $users->username = $username;
         $users->password = $password;
         $this->set('users', $users);
         if($users_table->save($users))
         echo "User is added.";
      }
   }
}
?>

src/Template 處建立目錄 Users 並在該目錄下建立一個名為 add.php 的 View 檔案。將以下程式碼複製到該文件中。

src/Template/Users/add.php

<?php echo $this->Form->create(NULL,array('url'=>'/users/add'));
   echo $this->Form->control('username');
   echo $this->Form->control('password');
   echo $this->Form->button('Submit');
   echo $this->Form->end();
?>

透過造訪以下 URL 來執(zhí)行上面的範例。 http://localhost/cakephp4/users/add

輸出

執(zhí)行後,您將收到以下輸出。

CakePHP 使用資料庫

資料將保存在使用者表中,如下所示 -

Show All

以上是CakePHP 使用資料庫的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔相應(yīng)的法律責任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何用JavaScript判斷兩個數(shù)組是否相等? 如何用JavaScript判斷兩個數(shù)組是否相等? May 23, 2025 pm 10:51 PM

JavaScript中判斷兩個數(shù)組是否相等需要使用自定義函數(shù),因為沒有內(nèi)置方法。 1)基本實現(xiàn)通過比較長度和元素,但不能處理對象和數(shù)組。 2)遞歸深度比較能處理嵌套結(jié)構(gòu),但需特別處理NaN。 3)還需考慮函數(shù)、日期等特殊類型,需進一步優(yōu)化和測試。

PHP中如何驗證社保號字符串? PHP中如何驗證社保號字符串? May 23, 2025 pm 08:21 PM

社保號驗證在PHP中通過正則表達式和簡單邏輯實現(xiàn)。 1)使用正則表達式清理輸入,去除非數(shù)字字符。 2)檢查字符串長度是否為18位。 3)計算並驗證校驗位,確保與輸入的最後一位匹配。

如何在閉包中正確處理this指向? 如何在閉包中正確處理this指向? May 21, 2025 pm 09:15 PM

在JavaScript閉包中正確處理this指向的方法有:1.使用箭頭函數(shù),2.使用bind方法,3.使用變量保存this。這些方法能確保內(nèi)部函數(shù)的this正確指向外部函數(shù)的上下文。

怎樣用JavaScript實現(xiàn)數(shù)據(jù)加密? 怎樣用JavaScript實現(xiàn)數(shù)據(jù)加密? May 23, 2025 pm 11:12 PM

使用JavaScript實現(xiàn)數(shù)據(jù)加密可以使用Crypto-JS庫。 1.安裝並引入Crypto-JS庫。 2.使用AES算法進行加密和解密,確保使用相同的密鑰。 3.注意密鑰的安全存儲和傳輸,推薦使用CBC模式和環(huán)境變量存儲密鑰。 4.在高性能需求時,考慮使用WebWorkers。 5.處理非ASCII字符時,需指定編碼方式。

PHP中如何定義構(gòu)造函數(shù)? PHP中如何定義構(gòu)造函數(shù)? May 23, 2025 pm 08:27 PM

在PHP中,構(gòu)造函數(shù)通過\_\_construct魔術(shù)方法定義。 1)在類中定義\_\_construct方法,它會在對象實例化時自動調(diào)用,用於初始化對象屬性。 2)構(gòu)造函數(shù)可以接受任意數(shù)量的參數(shù),靈活初始化對象。 3)在子類中定義構(gòu)造函數(shù)時,需要調(diào)用parent::\_\_construct()確保父類構(gòu)造函數(shù)執(zhí)行。 4)通過可選參數(shù)和條件判斷,構(gòu)造函數(shù)可以模擬重載效果。 5)構(gòu)造函數(shù)應(yīng)簡潔,只做必要初始化,避免複雜邏輯或I/O操作。

在PhpStudy上部署Joomla網(wǎng)站的詳細步驟 在PhpStudy上部署Joomla網(wǎng)站的詳細步驟 May 16, 2025 pm 08:00 PM

在PhpStudy上部署Joomla網(wǎng)站的步驟包括:1)配置PhpStudy,確保Apache和MySQL服務(wù)運行並檢查PHP版本兼容性;2)從Joomla官網(wǎng)下載並解壓到PhpStudy的網(wǎng)站根目錄,然後通過瀏覽器按照安裝嚮導(dǎo)完成安裝;3)進行基本配置,如設(shè)置網(wǎng)站名稱和添加內(nèi)容。

PHP依賴注入:好處和例子 PHP依賴注入:好處和例子 May 17, 2025 am 12:14 AM

使用依賴注入(DI)在PHP中的好處包括:1.解耦,使代碼更模塊化;2.提高可測試性,易於使用Mocks或Stubs;3.增加靈活性,方便更換依賴;4.提升可重用性,類可在不同環(huán)境中使用。通過將依賴從外部傳遞給對象,DI使代碼更易維護和擴展。

PHP電子郵件教程:發(fā)送電子郵件很容易 PHP電子郵件教程:發(fā)送電子郵件很容易 May 19, 2025 am 12:10 AM

sendingemailswithphpisstraightforwardusingthemail()functionormoreAdvancedLibrariesLikeLikePhpMailer.1)usemail()forbasicemails,settreCipients,settrecipients,subjects,message,messages,messages和headeers.2)forhtmlemails,juspeStheadeStheadeStheadeSteStospeSpepeSpepeSpepeCifyHtmlconteN.3)

See all articles