成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用CakePHP腳手架工具設置數據庫和模型

開發(fā) 后端
使用CakePHP的腳手架能夠創(chuàng)建出一個能進行數據庫基本操作的簡單應用。本文介紹CakePHP中的數據庫和模型設置。

CakePHP腳手架工具主要是用來設置數據庫和模型的。下面介紹這個CakePHP腳手架工具的操作原理及方法。

我們已經知道,模型類通常都是用來與數據庫進行互動的。在CakePHP中,一個模型類通常都對應數據庫中的莫個表。所有對表進行的數據庫操作都是通過對應的模型類來實施的。CakePHP的模型與數據庫表之間的對應關系無需設置。相反,CakePHP使用了一些簡單的命名規(guī)則來實現這一效果,在這一部分,我們將了解到如何為數據庫中的表的創(chuàng)建對已的模型類。CakePHP提供了一個名為"腳手架"工具來幫助我們檢查先前創(chuàng)建好的模型和數據庫表。我們也將了解到如何使用“腳手架”功能完成這一工作。

為數據庫中的表創(chuàng)建模型

在了解模型類是如何與數據庫表進行互動之前,我們首先要創(chuàng)建一個數據庫表。在接下來這一部分中,我們首先將創(chuàng)建一個數據庫表,然后了解如何為這個表創(chuàng)建一個模型類。然后我們也會使用腳手架功能對新創(chuàng)建的模型和數據表進行一個快速的測試。

動手時間:創(chuàng)建一個數據庫表以及對應的模型

1,在MySQL命令提示行中,我們輸入如下數據庫命令來創(chuàng)建一個名為data-access的新數據庫。

  1. CREATE DATABASE `data-access`; 

2,通過執(zhí)行下面的SQL語句來創(chuàng)建一個“books”表:

  1. USE `data-access`;   
  2. CREATE TABLE `books` (  
  3. `id` int( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,  
  4. `isbn` varchar( 10 ) NOT NULL ,  
  5. `title` varchar( 127 ) NOT NULL ,  
  6. `description` text NOT NULL ,  
  7. `author_name` varchar( 127 ) NOT NULL 
  8. )  
  9.  

3,將一份全新的CakePHP文件夾放置到你的網頁根目錄下。將Cake的文件夾重命名為data-access.

4,進入Cake安裝文件夾下的/app/config目錄。你找到一個名為 database.php.default的文件。將這個文件重命名為database.php。使用你喜歡的編輯器打開它。編輯文件中的$default數組以配置好你的數據庫。在編輯好之后,它看起來應該跟下面這段內容差不多

  1. var $default = array(  
  2.          'driver' => 'mysql',  
  3.          'persistent' => false,  
  4.          'host' => 'localhost',  
  5.          'port' => '',  
  6.          'login' => 'username',  
  7.          'password' => 'password',  
  8.          'database' => 'data-access',  
  9.          'schema' => '',  
  10.          'prefix' => '',  
  11.          'encoding' => '' 
  12.       );  

5,現在,在你的瀏覽器中輸入如下地址http://localhost/data-access。瀏覽器會顯示以一個“CakePHP已經能夠與數據庫進行連接”的信息,我們就此可以確認數據庫的配置非常***。如果配置不對的話,它會顯示一個"Cake無法與數據進行連接”的信息。如果碰到這種情況,又很有可能是你提供的數據庫信息不正確。立刻返回到第四步,使用正確的數據庫名稱,數據庫用戶名和密碼來填寫$default數組

6,在/app/models文件夾下創(chuàng)建一個新的PHP文件,將其命名為book.php

7,在book.php文件中,添加如下代碼:

  1. <?php    
  2.     class Book extends AppModel  
  3.     {  
  4.        var $name = 'Book';  
  5.     }  
  6.     ?>  
  7.  

8,現在在 /app/controllers文件夾下另外創(chuàng)建一個PHP文件,將其命名為books_controller.php

9,在books_controller.php文件中添加如下代碼:

  1. <?php  
  2.    class BooksController extends AppController {  
  3.       var $name = 'Books';  
  4.       var $scaffold;  
  5.    }  
  6.    ?>  

10,現在,使用瀏覽器打開這個地址http://localhost/data-access/books/,添加一些測試數據。

怎么回事?

首先,我們創(chuàng)建了一個名為data-access的數據庫。接著,我們在這個數據庫中創(chuàng)建了一個名為books的數據庫表。books表的結構如下:

books表的結構 

我們這里使用的數據庫表名和字段名并不是隨意選取的。CakePHP對于數據庫表和字段的命名都有確定的命名規(guī)則:

◆表名必須是復數形式的英文小寫(像boooks,catergories,articles等等)

◆如果需要使用兩個以及兩個以上的單詞來對表和字段進行命名,我們需要使用下劃線來把單詞分開(像author_name,user_photos等)

◆數據庫表中的字段必須有一個名為id的主鍵

在我們這個例子中,我們使用的數據庫表名books是英文復數形式。我們也有一個名為id的主鍵。我們需要使用兩個單詞來對表的第5個字段進行命名——author_name,我們使用下劃線來連接這兩個單詞。

[ 如果你之前寫過PHP/MySQL的應用程序,那么你可能會以你自己喜歡的方式對數據庫表進行命名,然后寫SQL語句來訪問這些數據庫。但是,當你使用CakePHP時,你應該遵循它的命名規(guī)則。雖然我們不一定要完全遵循它的命名規(guī)則,但是對規(guī)則的遵守會幫助我們省下不少寶貴的時間。此外,堅持這一規(guī)則通常都能提高代碼的質量和可維護性。通過本書的這一章節(jié)和其他章節(jié),我們將會看到CakePHP的這些規(guī)則是如何幫我們以一種更便捷更酷的方式完成事情的。 ]

我們的數據庫已經準備就緒,我們已經對我們的應用做好配置,并且連接到數據庫了。在第三章中,我們已經學習過如何對我們的應用進行配置,以便連接的數據庫。在完成數據庫配置后,我們開始為我們的模型編寫代碼。

我們已經知道,在CakePHP中,模型類都通常都被用來訪問對應的數據庫表,因此,要訪問books表,我們需要創(chuàng)建對應的模型類。CakePHP對于模型類和模型文件有固定的命名規(guī)則。具體規(guī)則如下:

◆模型的文件名必須用對應數據庫的表名來命名,但是是單數形式。比如,如果你的數據表名是user_photos,那么模型的文件名就應該是user_photo.php

◆模型的類名應該是模型文件名的駱駝拼寫形式( CamelCased form)。如果我們的模型文件名稱是user_photo.php,那么模型的類名就應該是UserPhoto

◆模型文件都放置在 /app/models目錄下。

[ CakePHP會通過命名規(guī)則自動了解到哪個模型類對應哪個數據庫的表。在我們這個例子中,我們模型的類名稱Book暗示它對應的數據庫表是books表。看,多省事,我們無需對此做什么手動設置。 ]

然后我們創(chuàng)建了一個名為Book的模型類,然后將類文件命名為book.php,并將其保存在 /app/models 文件夾下,因為我們正確的遵循了命名規(guī)則,CakePHP現在會自動檢測到我們的Book類是數據庫表books所對應的模型類。

一旦我們創(chuàng)建好數據庫表和模型,我們就能使用CakePHP的腳手架功能創(chuàng)建出一個能進行數據庫基本操作(比如,添加,編輯,和刪除操作)的簡單應用程序來。在對Book模型使用腳手架功能之間,我們首先需要創(chuàng)建一個相關的控制器類BooksController。然后我們在控制器類里面添加了一行變量$scaffold 。這一短短的代碼將會為數據庫表books所對應的Book模型搭建一個腳手架——沒錯,就是這么簡單!

訪問這個鏈接 http://localhost/data-access/books/,CakePHP腳手架功能已經為我們創(chuàng)建了一個帶有添加,讀取,更新和刪除功能的基本應用。在添加一些數據后,頁面的模樣應該如下圖:

CakePHP的腳手架功能 

[ 創(chuàng)建一個腳手架所需要的東西包括一個數據庫表,對應模型以及控制器,以及一些規(guī)則。一旦萬事俱備,我們只需在控制器中設置一個$scaffold屬性就可以創(chuàng)建一個基本上能運行的應用來! ]

腳手架功能是我們用來測試數據庫表的一個快捷方式,在開發(fā)周期的早期階段,對數據庫表的改動通常都比較頻繁。但是需要記住的是,腳手架功能只是一種臨時的手段。它也不俱備完全的靈活性。在專門應用程序中,我們都需要定制自己的邏輯和用戶界面。要實現這點,我們拆掉腳手架,然后添加上我們自己的一些代碼。我們將很快看到如何編寫一些俱備 CRUD(創(chuàng)建、讀取、更新、刪除)功能的實際代碼。

【編輯推薦】

  1. PHP老手談PHP和Python的基礎特性
  2. 打造PHP的無限分級類(完整代碼及注釋)
  3. 9個開發(fā)人員應該知道的PHP庫
  4. PHP命名空間規(guī)則解析及高級功能
  5. 再談Web開發(fā):PHP,Java和.NET的過去,現在和未來
責任編輯:yangsai 來源: 譯言
相關推薦

2018-06-11 14:39:57

前端腳手架工具node.js

2018-08-30 16:08:37

Node.js腳手架工具

2021-01-07 05:34:07

腳手架JDK緩存

2009-09-21 17:06:26

CakePHP模型檢索數據

2021-05-21 05:22:52

腳手架工具項目

2021-03-09 17:11:09

數據庫腳手架開發(fā)

2021-11-08 09:35:09

Vue代碼前端

2016-08-10 14:59:41

前端Javascript工具

2022-12-12 08:56:45

Vite3Vite

2021-12-23 10:35:32

SpringCloud腳手架架構

2016-09-07 15:35:06

VueReact腳手架

2025-05-16 07:24:41

Springkafka腳手架

2014-08-15 09:36:06

2021-05-13 17:02:38

MDC腳手架日志

2022-01-14 14:09:11

腳手架代碼自定義

2020-06-29 11:35:02

Spring BootJava腳手架

2020-03-20 08:32:41

物聯(lián)網腳手架傳感器

2019-12-25 15:20:48

前端腳手架命令

2022-04-24 11:33:47

代碼管理工程

2023-11-21 17:36:04

OpenFeignSentinel
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产精品精华素 | 一区二区三区国产精品 | 国产伦精品一区二区三区高清 | 午夜三区| 中文字幕 在线观看 | 成人在线一区二区 | 亚洲精品色 | 国产精品99视频 | 欧美a级成人淫片免费看 | 三级免费毛片 | 欧美日韩视频在线 | 狠狠av| 免费在线观看一区二区 | 天天拍天天色 | 天堂视频中文在线 | 久久激情网 | 特级做a爱片免费69 精品国产鲁一鲁一区二区张丽 | 久久丝袜视频 | 国产一区二区三区久久久久久久久 | 久久久久久美女 | 亚洲男人的天堂网站 | 一区二区三区亚洲 | 久久高清| 天天看片天天干 | 欧美中文字幕一区二区三区 | 欧美一级二级视频 | 欧美国产一区二区三区 | 日韩和的一区二区 | 97精品超碰一区二区三区 | 日韩有码一区 | 毛片一级片 | 色就干| 亚洲精品电影在线观看 | 天天操天天拍 | 免费污视频 | 在线色网 | xx视频在线观看 | 欧美日韩一区二区三区在线观看 | 久久久久亚洲av毛片大全 | 国产美女在线免费观看 | 蜜桃综合在线 |