Zend Framework教程之模型Model用法简单实例


Posted in PHP onMarch 04, 2016

本文实例讲述了Zend Framework教程之模型Model用法。分享给大家供大家参考,具体如下:

附一个简单粗俗的例子。只是大概说明了用法:如果要深究,可以自己跟踪源码了解。

model_demo1

│  .project
│  .buildpath
│  .zfproject.xml

├─.settings
│      org.eclipse.php.core.prefs
│      .jsdtscope
│      org.eclipse.wst.jsdt.ui.superType.name
│      org.eclipse.wst.jsdt.ui.superType.container

├─application
│  │  Bootstrap.php
│  │
│  ├─configs
│  │      application.ini
│  │
│  ├─controllers
│  │      IndexController.php
│  │      ErrorController.php
│  │
│  ├─models
│  │      Test.php
│  │      ModelTest.php
│  │
│  └─views
│      ├─scripts
│      │  ├─index
│      │  │      index.phtml
│      │  │
│      │  └─error
│      │          error.phtml
│      │
│      └─helpers
├─docs
│      README.txt

├─library
│  ├─app
│  │      Test.php
│  │
│  ├─myApp
│  │      Test.php
│  │
│  ├─Zend
│  │      Test.php
│  │
│  ├─AppTest
│  │      Test.php
│  │
│  └─AppTest2
│          Test.php

├─public
│      index.php
│      .htaccess

└─tests
    │  phpunit.xml
    │  bootstrap.php
    │
    ├─application
    │  └─controllers
    │          IndexControllerTest.php
    │
    └─library

如下是从上到下,每一个文件的源码,不再详细说明:

/model_demo1/application/configs/application.ini

[production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
autoloadernamespaces.app = "App_"
autoloadernamespaces.my = "MyApp_"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 1
[staging : production]
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1

/model_demo1/application/controllers/IndexController.php

<?php
class IndexController extends Zend_Controller_Action {
  public function init() {
    /* Initialize action controller here */
  }
  public function indexAction() {
    var_dump ( Application_Model_Test::getUserInfo () );
    App_Test::echoAppTest ();
    MyApp_Test::echoAMyAppTest ();
    Zend_Test::echoZendTest ();
    AppTest_Test::echoAppTestTest ();
    $auto_loader = Zend_Loader_Autoloader::getInstance();
    $resourceLoader = new Zend_Loader_Autoloader_Resource(array(
        'basePath' => '/www/model_demo1/application',
        'namespace' => '',
        'resourceTypes' => array(
            'model' => array(
                'path' => 'models',
                'namespace' => 'Model'
            )
        )
    )
    );
    $auto_loader->pushAutoloader($resourceLoader);
    $auto_loader->registerNamespace(array('AppTest2_'));
    AppTest2_Test::echoAppTest2Test();
    Model_ModelTest::echoModelModelTest();
    exit ();
  }
}

/model_demo1/application/models/ModelTest.php

<?php
class Model_ModelTest{
  static function echoModelModelTest(){
    echo 'Model_ModelTest<br/>';
  }
}

/model_demo1/application/models/Test.php

<?php
class Application_Model_Test {
  static public function getUserInfo() {
    return array (
        'user_name' => '张三',
        'user_gender' => '男'
    );
  }
}

/model_demo1/application/Bootstrap.php

<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {
  protected function _initAutoload() {
    $app = $this->getApplication ();
    $namespaces = array (
        'AppTest'
    );
    $app->setAutoloaderNamespaces ( $namespaces );
    return $app;
  }
}

/model_demo1/library/app/Test.php

<?php
class App_Test {
  static public function echoAppTest() {
    echo 'App_Test<br/>';
  }
}

/model_demo1/library/AppTest/Test.php

<?php
class AppTest_Test{
  static public function echoAppTestTest(){
    echo 'AppTestTest<br/>';
  }
}

/model_demo1/library/AppTest2/Test.php

<?php
class AppTest2_Test{
  static public function echoAppTest2Test(){
    echo 'AppTest2Test<br/>';
  }
}

/model_demo1/library/myApp/Test.php

<?php
class MyApp_Test {
  static public function echoAMyAppTest() {
    echo 'MyApp_Test<br/>';
  }
}

/model_demo1/library/Zend/Test.php

<?php
class Zend_Test{
  static public function echoZendTest(){
    echo 'ZendTest<br/>';
  }
}

没有贴出的代码,是创建项目默认的代码。

记住:遵循约定规则,就会避免不必要的麻烦。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php中cookie的作用域
Mar 27 PHP
PHP生成带有雪花背景的验证码
Sep 28 PHP
解析dedecms空间迁移步骤详解
May 15 PHP
php jquery 多文件上传简单实例
Dec 23 PHP
php上传文件问题汇总
Jan 30 PHP
php准确获取文件MIME类型的方法
Jun 17 PHP
浅析Yii2中GridView常见操作
Apr 22 PHP
PHP框架自动加载类文件原理详解
Jun 06 PHP
利用PHP实现开心消消乐的算法示例
Oct 12 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
Oct 12 PHP
PHP有序表查找之插值查找算法示例
Feb 10 PHP
thinkphp5框架路由原理与用法详解
Feb 11 PHP
基于PHP实现等比压缩图片大小
Mar 04 #PHP
Zend Framework教程之模型Model基本规则和使用方法
Mar 04 #PHP
Zend Framework教程之Zend_Layout布局助手详解
Mar 04 #PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
Mar 04 #PHP
PHP使用curl模拟post上传及接收文件的方法
Mar 04 #PHP
PHP生成和获取XML格式数据的方法
Mar 04 #PHP
PHP使用fopen与file_get_contents读取文件实例分享
Mar 04 #PHP
You might like
php下实现伪 url 的超简单方法[转]
2007/09/24 PHP
ThinkPHP使用smarty模板引擎的方法
2014/07/01 PHP
简单介绍win7下搭建apache+php+mysql开发环境
2015/08/06 PHP
thinkPHP模板中函数的使用方法示例
2016/11/30 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
php获取数据库结果集方法(推荐)
2017/06/01 PHP
Div Select挡住的解决办法
2008/08/07 Javascript
Javascript 获取滚动条位置等信息的函数
2009/09/08 Javascript
JavaScript 精粹读书笔记(1,2)
2010/02/07 Javascript
js制作的鼠标悬浮时产生的下拉框效果
2012/10/27 Javascript
javascript函数以及基础写法100多条实用整理
2013/01/13 Javascript
浅谈Unicode与JavaScript的发展史
2015/01/19 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
2015/10/10 Javascript
设计模式中的组合模式在JavaScript程序构建中的使用
2016/05/18 Javascript
浅谈Angularjs link和compile的使用区别
2016/10/21 Javascript
详解vue 实例方法和数据
2017/10/23 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
如何使用CSS3+JQuery实现悬浮墙式菜单
2019/06/18 jQuery
如何在 Vue 表单中处理图片
2021/01/26 Vue.js
python基础教程项目四之新闻聚合
2018/04/02 Python
学python最电脑配置有要求么
2020/07/05 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
python 根据列表批量下载网易云音乐的免费音乐
2020/12/03 Python
配置H5的滚动条样式的示例代码
2018/03/09 HTML / CSS
Html5 APP中监听返回事件处理的方法示例
2018/03/15 HTML / CSS
澳洲网红粉泥面膜:Sand & Sky
2019/08/13 全球购物
设计模式的基本要素是什么
2014/04/21 面试题
业务主管岗位职责
2013/11/20 职场文书
大学运动会通讯稿
2014/01/28 职场文书
白岩松演讲
2014/05/21 职场文书
民主生活会剖析材料
2014/09/30 职场文书
介绍信样本
2015/01/31 职场文书
导游词之藏龙百瀑景区
2019/12/30 职场文书
告别网页搜索!教你用python实现一款属于自己的翻译词典软件
2021/06/03 Python
python中的getter与setter你了解吗
2022/03/24 Python
为自由献出你的心脏!「进击的巨人展 FINAL」2022年6月在台开展
2022/04/13 日漫