程序员人生 网站导航

Zend Framework教程-Zend的Model-简单举例

栏目:ZendFramework时间:2014-01-10 17:31:02

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

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 = 1phpSettings.display_errors = 1includePaths.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 = 1phpSettings.display_errors = 1[development : production]phpSettings.display_startup_errors = 1phpSettings.display_errors = 1resources.frontController.params.displayExceptions = 1

/model_demo1/application/controllers/IndexController.php

<?phpclass 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

 

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

/model_demo1/application/models/Test.php 


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

/model_demo1/application/Bootstrap.php

<?phpclass 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


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

/model_demo1/library/AppTest/Test.php

 

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

/model_demo1/library/AppTest2/Test.php


 

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


/model_demo1/library/myApp/Test.php


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


/model_demo1/library/Zend/Test.php


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



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


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



------分隔线----------------------------
------分隔线----------------------------

最新技术推荐