Heim  >  Artikel  >  php教程  >  Einfaches Beispiel für die Modellverwendung im Zend Framework-Tutorial

Einfaches Beispiel für die Modellverwendung im Zend Framework-Tutorial

高洛峰
高洛峰Original
2017-01-03 13:42:171333Durchsuche

Das Beispiel in diesem Artikel beschreibt die Verwendung des Modells im Zend Framework-Tutorial. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Im Anhang finden Sie ein einfaches und vulgäres Beispiel. Es erklärt nur kurz die Verwendung: Wenn Sie tiefer eintauchen möchten, können Sie dem Quellcode selbst folgen, um ihn zu verstehen.

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
│ │
│ ├─Modelle
│ │ Test.php
│ │ ModelTest.php
│ │
│ └─Ansichten │ └─error
│  │   error.phtml
│ │
│ └─helpers
├─docs
│   README.txt

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

├─ public
│ .htaccess

└─tests
│ phpunit.xml
│ bootstrap.php

├─application
│ └─controllers
│ IndexControllerTest.php

└─library

Das Folgende ist der Quellcode jeder Datei von oben nach unten, ohne weitere Erklärung:

/model_demo1/application/ configs/application.ini

/model_demo1/application/controllers/IndexController.php

/model_demo1/application/models/ModelTest.php

[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/models/ Test.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(
        &#39;basePath&#39; => &#39;/www/model_demo1/application&#39;,
        &#39;namespace&#39; => &#39;&#39;,
        &#39;resourceTypes&#39; => array(
            &#39;model&#39; => array(
                &#39;path&#39; => &#39;models&#39;,
                &#39;namespace&#39; => &#39;Model&#39;
            )
        )
    )
    );
    $auto_loader->pushAutoloader($resourceLoader);
    $auto_loader->registerNamespace(array(&#39;AppTest2_&#39;));
    AppTest2_Test::echoAppTest2Test();
    Model_ModelTest::echoModelModelTest();
    exit ();
  }
}

/model_demo1/application/Bootstrap.php

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

/model_demo1/library/app/Test.php

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

/model_demo1 /library/AppTest/Test.php

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

/model_demo1/library/AppTest2/Test.php

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

/model_demo1/library/ myApp/Test.php

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

/model_demo1/library/Zend/Test.php

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

Der nicht gepostete Code ist der Standardcode zum Erstellen eines Projekts.

<?php
class MyApp_Test {
  static public function echoAMyAppTest() {
    echo &#39;MyApp_Test<br/>&#39;;
  }
}
Denken Sie daran: Die Einhaltung der vereinbarten Regeln vermeidet unnötigen Ärger.

Ich hoffe, dass dieser Artikel für alle hilfreich ist, die sich mit PHP-Programmierung befassen.
<?php
class Zend_Test{
  static public function echoZendTest(){
    echo &#39;ZendTest<br/>&#39;;
  }
}

Weitere Zend Framework-Tutorials und einfache Beispiele für die Modellverwendung finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn