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的header和asp中的redirect比较
Oct 09 PHP
PHP源码之 ext/mysql扩展部分
Jul 17 PHP
linux系统上支持php的 iconv()函数的方法
Oct 01 PHP
php分页思路以及在ZF中的使用
May 30 PHP
php中如何使对象可以像数组一样进行foreach循环
Aug 09 PHP
PHP根据IP判断地区名信息的示例代码
Mar 03 PHP
初识PHP
Sep 28 PHP
php循环table实现一行两列显示的方法
Jun 04 PHP
ThinkPHP表单数据智能写入create方法实例分析
Sep 27 PHP
php xhprof使用实例详解
Apr 15 PHP
关于laravel模板中生成URL的几种模式总结
Oct 18 PHP
PHP连续签到功能实现方法详解
Dec 04 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使之能同时支持GIF和JPEG
2006/10/09 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
2015/08/18 PHP
CodeIgniter控制器之业务逻辑实例分析
2016/01/20 PHP
PHP中Static(静态)关键字功能与用法实例分析
2019/04/05 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
070823更新的一个[消息提示框]组件 兼容ie7
2007/08/29 Javascript
COM中获取JavaScript数组大小的代码
2009/11/22 Javascript
JS 实现导航栏悬停效果
2013/09/23 Javascript
JQuery Tips相关(1)----关于$.Ready()
2014/08/14 Javascript
jQuery表单域属性过滤器用法分析
2015/02/10 Javascript
JavaScript使ifram跨域相互访问及与PHP通信的实例
2016/03/03 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
2016/07/20 Javascript
nodejs根据ip数组在百度地图中进行定位
2017/03/06 NodeJs
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
vue语法自动转typescript(解放双手)
2019/09/18 Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
2019/10/24 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
2019/11/12 Javascript
微信小程序按顺序同步执行的两种方式
2019/12/20 Javascript
Vue数字输入框组件示例代码详解
2020/01/15 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
[03:55]2014DOTA2国际邀请赛 Fnatic经理采访赢DK在情理之中
2014/07/10 DOTA
[56:12]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第一场 6.3
2018/06/04 DOTA
Python GAE、Django导出Excel的方法
2008/11/24 Python
安装ElasticSearch搜索工具并配置Python驱动的方法
2015/12/22 Python
简单了解python的一些位运算技巧
2019/07/13 Python
python 实现查询Neo4j多节点的多层关系
2019/12/23 Python
python opencv 检测移动物体并截图保存实例
2020/03/10 Python
Python3读取和写入excel表格数据的示例代码
2020/06/09 Python
如何使用pycharm连接Databricks的步骤详解
2020/09/23 Python
CSS教程:CSS3圆角属性
2009/04/02 HTML / CSS
巴西葡萄酒销售网站:Wine.com.br
2017/11/07 全球购物
小学教师自我鉴定范文
2014/03/20 职场文书
公司新人试用期自我评价
2014/09/17 职场文书
谢师宴答谢词
2015/01/05 职场文书
预备党员自我评价范文
2015/03/04 职场文书
配置nginx 重定向到系统维护页面
2021/06/08 Servers