MVCコードの記述:
コントローラーコードの記述:
コードをコピーします コードは次のとおりです:
class IndexController extends Zend_Controller_Action
{
function init()
{
$this->registry = Zend_Registry::getInstance() ;
$ this ->view = $this->registry['view'];
$this->view->baseUrl = $this->_request->getBaseUrl();
}
functionindexAction()
{
$this->view->word="私はスパーズが大好きです";
echo $this->view->render("index.html");
}
function addAction(){
//POSTからの値の場合は追加します、それ以外の場合は追加ページを表示します
}
}
?>
コンテンツの制御と書き込み:
コードをコピーします コードは次のとおりです:
$this->view->word="ggg";
$this->view->render("index.html") );
- --->index.html echo $this->word;
アプリケーション->config.ini
[一般]
db.adapter=PDO_MYSQL
db.config.host=localhost
db.config.username=root
db.config.password=
db.config.dbname=think_zw
設定ファイルをフレームワークに導入します
コードをコピーします コードは次のとおりです:
//データベースパラメータを設定し、データベースに接続します
$config=new Zend_Config_Ini('./application/config/config.ini',null, true );
Zend_Registry: :set('config',$config);
$dbAdapter=Zend_Db::factory($config->general->db->adapter,$config->general->db ->config- >toArray());
$dbAdapter->query('SET NAMES UTF8');
Zend_Db_Table::setDefaultAdapter($dbAdapter);
Zend_Registry::set('dbAdapter',$dbAdapter) ;
シングルエントリーモード: localhost/index/add/インデックスモジュールの下の追加メソッドにアクセスします
関数 addAction(){} (IndexController.php内)
デフォルトのアクセスはインデックスモジュールの下のインデックスメソッドです
モジュールモデルに別のmessage.phpを作成します
コードをコピー コードは次のとおりです:
class Message extends Zend_Db_Table
{
protected $_name ="message";
protected $_primary = 'id';
}
? >
モジュールのインスタンス化:
コードをコピーします コードは次のとおりです:
functionindexAction()
{
$message=new message();//データベースクラスをインスタンス化します
//データベースの内容を取得します
$this->view->messages=$message->fetchAll()->toArray();
echo $this->view->render('index.phtml') // テンプレートを表示
}
messages as $message): ?>
| ;
|
---|
?>
;
******************データの変更と削除
コードをコピー コードは次のとおりです:
kk
ll
php endif ?>
index.phtmlにを追加
コードをコピーします コードは次のとおりです:
Edit < a href="baseUrl?>/index/delete">削除
新しいメソッドを追加: edit.phtml
コードをコピーします
コードは次のとおりです:
関数 editAction(){
$message = 新しいメッセージ();
$db = $message->getAdapter();
if(strto lower($_SERVER['REQUEST_METHOD'])=='post'){
$id = $this->_request->getPost('id');
$cid = $this->_request ->getPost('cid');
$title = $this->_request->getPost('title');
$set = array(
'cid'=>$cid,
'title'=>$title
);
$where = $db->quoteInto('id = ?',$id);
//データ更新
$message->update($set,$where);
unset($set);
echo '修正データベース成功!返し';
}else{
$id = $this->_request->getParam('id');
$this->view ->messages = $message->fetchAll('id='.$id)->toArray();
echo $this->view->render('edit.phtml');
}
}
function delAction(){
$message = new Message();
$id = (int)$this->_request->getParam('id');
if($id > 0){
$where = 'id = ' . $id;
$message->delete($where);
}
echo '删除数据成功!戻る';
}
异常出现:
复制代码代码如下:
致命的エラー:キャッチされない例外「Zend_Controller_Dispatcher_Exception」とメッセージ「無効なコントローラーが指定されました (index.php)」が
で発生しました
解决办法:index.php内にある
复制代码代码如下:
$frontController =Zend_Controller_Front::getInstance();後加上
$frontController->setParam('useDefaultControllerAlways', true);
*******
id/3 等以前より?id=3
http://www.bkjia.com/PHPjc/788645.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/788645.html技術記事 MVC 代码书書: 制御器代码书書: 复制代码如下: ?php class IndexController extends Zend_Controller_Action { function init() { $this-registry = Zend_Registry...