THinkphp3.2的改動很大,特別是應用了命名空間的概念,這個命名空間很相似於.NET和Java的命名空間,經過引用就能夠調用,因爲前期一直是搞.NET,對命名空間自認爲是比較瞭解的,在沒有徹底理解ThinkPHP3.2手冊的下進行了開發,致使在實例化Model下出現了語法錯誤,找了好久發現了其中的問題。 javascript
首先我在Home中的Model中新建了一個UserModel php
-
<?php
-
-
namespace Home\Model;
-
use Think\Model;
-
class UserModel extends Model{
-
/**
-
* 數據庫鏈接
-
* @var unknown_type
-
*/
-
protected $connection = 'DB_Localhost';
-
-
/**
-
* 表名
-
* @var unknown_type
-
*/
-
protected $tableName = 'User';
-
-
/**
-
* @param unknown $data
-
* @return Ambigous <\Think\mixed, boolean, string, unknown>|number
-
*/
-
public function createUser($data){
-
echo '<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微軟雅黑"; color: #333;font-size:24px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px }</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>成功調用<b>UserModel</b>!';
-
}
而後就是在控制器中調用,由上代碼能夠,UserModule的命名空間是Home\Model,天然在控制器中調用就引用便可 css
-
<?php
-
namespace Home\Controller;
-
-
use Home\Model;
-
use Think\Controller;
-
class IndexController extends Controller {
-
public function index(){
-
$userModel=new UserModel();
-
$userModel->createUser($data);
-
// $this->show('<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微軟雅黑"; color: #333;font-size:24px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px }</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>歡迎使用 <b>ThinkPHP</b>!</p><br/>[ 您如今訪問的是Home模塊的Index控制器 ]</div><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script>','utf-8');
-
// $this->show('hello word');
-
}
-
}
引用命名空間Home\Model,而後直接調用new就行了,直接請求 java
理想很美好,現實很骨感,急忙忙的請求,等待咱們的是錯誤頁面。提示的錯誤竟然是找不到UserModel,這糾結啊!明明是引用了,怎麼就是找不到恩,非常糾結啊!將UserModel粘貼了不少次,也將Home/Model命名空間粘貼複製了不少次,但是就是找不到啊!崩潰的節奏啊。 數據庫
沒辦法了就去Thinkphp3.2的使用手冊去查看。給出的例子是 this
-
$User = new \Home\Model\UserModel();
-
$Info = new \Admin\Model\InfoModel();
-
// 帶參數實例化
-
$New = new \Home\Model\NewModel('blog','think_',$connection);
貌似仍是沒有任何收穫,只能按照他的方法試下,發現果真能夠,那就糾結了,爲啥他的能夠個人就不行呢!不得其解啊!不過他的寫法讓我靈機一動,將引用的命名空間改成了use Home\Model\UserModel; spa
試探的刷新了下頁面,出現了使人興奮的頁面 orm
雖然成功了,可是還不知道爲何要這麼引用,請大神們批評指教。blog