当前位置:首页 > CMS教程 > 其它CMS > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-07-13 11:07:19 浏览: 评论:0 

这篇文章主要介绍了Zend Framework教程之模型Model用法,结合实例形式简单分析了Zend Framework中模型Model的原理,文件组织结构及具体使用方法,需要的朋友可以参考下。

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

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

model_demo1

  1. │  .project 
  2. │  .buildpath 
  3. │  .zfproject.xml 
  4. │ 
  5. ├─.settings 
  6. │      org.eclipse.php.core.prefs 
  7. │      .jsdtscope 
  8. │      org.eclipse.wst.jsdt.ui.superType.name 
  9. │      org.eclipse.wst.jsdt.ui.superType.container 
  10. │ 
  11. ├─application 
  12. │  │  Bootstrap.php 
  13. │  │ 
  14. │  ├─configs 
  15. │  │      application.ini 
  16. │  │ 
  17. │  ├─controllers 
  18. │  │      IndexController.php 
  19. │  │      ErrorController.php 
  20. │  │ 
  21. │  ├─models 
  22. │  │      Test.php 
  23. │  │      ModelTest.php 
  24. │  │ 
  25. │  └─views 
  26. │      ├─scripts 
  27. │      │  ├─index 
  28. │      │  │      index.phtml 
  29. │      │  │ 
  30. │      │  └─error 
  31. │      │          error.phtml 
  32. │      │ 
  33. │      └─helpers 
  34. ├─docs 
  35. │      README.txt 
  36. │ 
  37. ├─library 
  38. │  ├─app 
  39. │  │      Test.php 
  40. │  │ 
  41. │  ├─myApp 
  42. │  │      Test.php 
  43. │  │ 
  44. │  ├─Zend 
  45. │  │      Test.php 
  46. │  │ 
  47. │  ├─AppTest 
  48. │  │      Test.php 
  49. │  │ 
  50. │  └─AppTest2 
  51. │          Test.php 
  52. │ 
  53. ├─public 
  54. │      index.php 
  55. │      .htaccess 
  56. │ 
  57. └─tests 
  58.     │  phpunit.xml 
  59.     │  bootstrap.php 
  60.     │ 
  61.     ├─application 
  62.     │  └─controllers 
  63.     │          IndexControllerTest.php 
  64.     │ 
  65.     └─library 

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

/model_demo1/application/configs/application.ini

  1. [production] 
  2. phpSettings.display_startup_errors = 1 
  3. phpSettings.display_errors = 1 
  4. includePaths.library = APPLICATION_PATH "/../library" 
  5. bootstrap.path = APPLICATION_PATH "/Bootstrap.php" 
  6. bootstrap.class = "Bootstrap" 
  7. appnamespace = "Application" 
  8. autoloadernamespaces.app = "App_" 
  9. autoloadernamespaces.my = "MyApp_" 
  10. resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" 
  11. resources.frontController.params.displayExceptions = 1 
  12. [staging : production] 
  13. [testing : production] 
  14. phpSettings.display_startup_errors = 1 
  15. phpSettings.display_errors = 1 
  16. [development : production] 
  17. phpSettings.display_startup_errors = 1 
  18. phpSettings.display_errors = 1 
  19. resources.frontController.params.displayExceptions = 1 

/model_demo1/application/controllers/IndexController.php

  1. <?php 
  2. class IndexController extends Zend_Controller_Action { 
  3.   public function init() { 
  4.     /* Initialize action controller here */ 
  5.   } 
  6.   public function indexAction() { 
  7.     var_dump ( Application_Model_Test::getUserInfo () ); 
  8.     App_Test::echoAppTest (); 
  9.     MyApp_Test::echoAMyAppTest (); 
  10.     Zend_Test::echoZendTest (); 
  11.     AppTest_Test::echoAppTestTest (); 
  12.     $auto_loader = Zend_Loader_Autoloader::getInstance(); 
  13.     $resourceLoader = new Zend_Loader_Autoloader_Resource(array
  14.         'basePath' => '/www/model_demo1/application'
  15.         'namespace' => ''
  16.         'resourceTypes' => array
  17.             'model' => array
  18.                 'path' => 'models'
  19.                 'namespace' => 'Model' 
  20.             ) 
  21.         ) 
  22.     ) 
  23.     ); 
  24.     $auto_loader->pushAutoloader($resourceLoader); 
  25.     $auto_loader->registerNamespace(array('AppTest2_')); 
  26.     AppTest2_Test::echoAppTest2Test(); 
  27.     Model_ModelTest::echoModelModelTest(); 
  28.     exit (); 
  29.   } 

/model_demo1/application/models/ModelTest.php

  1. <?php 
  2. class Model_ModelTest{ 
  3.   static function echoModelModelTest(){ 
  4.     echo 'Model_ModelTest<br/>'
  5.   } 

/model_demo1/application/models/Test.php

  1. <?php 
  2. class Application_Model_Test { 
  3.   static public function getUserInfo() { 
  4.     return array ( 
  5.         'user_name' => '张三'
  6.         'user_gender' => '男' 
  7.     ); 
  8.   } 

/model_demo1/application/Bootstrap.php

  1. <?php 
  2. class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { 
  3.   protected function _initAutoload() { 
  4.     $app = $this->getApplication (); 
  5.     $namespaces = array ( 
  6.         'AppTest' 
  7.     ); 
  8.     $app->setAutoloaderNamespaces ( $namespaces ); 
  9.     return $app
  10.   } 

/model_demo1/library/app/Test.php

  1. <?php 
  2. class App_Test { 
  3.   static public function echoAppTest() { 
  4.     echo 'App_Test<br/>'
  5.   } 

/model_demo1/library/AppTest/Test.php

  1. <?php 
  2. class AppTest_Test{ 
  3.   static public function echoAppTestTest(){ 
  4.     echo 'AppTestTest<br/>'
  5.   } 

/model_demo1/library/AppTest2/Test.php

  1. <?php 
  2. class AppTest2_Test{ 
  3.   static public function echoAppTest2Test(){ 
  4.     echo 'AppTest2Test<br/>'
  5.   } 

/model_demo1/library/myApp/Test.php

  1. <?php 
  2. class MyApp_Test { 
  3.   static public function echoAMyAppTest() { 
  4.     echo 'MyApp_Test<br/>'
  5.   } 

/model_demo1/library/Zend/Test.php

  1. <?php 
  2. class Zend_Test{ 
  3.   static public function echoZendTest(){ 
  4.     echo 'ZendTest<br/>'
  5.   } 

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

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

Tags: Framework Model

分享到: