Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Programmierbeispiele mit Zendframework

PHP-Programmierbeispiele mit Zendframework

WBOY
WBOYOriginal
2016-07-30 13:29:421093Durchsuche

Dieser Artikel bezieht sich auf den Inhalt von Kapitel 4 von „Praktische Entwicklung des PHP Top Framework zendframe“ und implementiert ihn vollständig...

Laden Sie zunächst die verwendete CSS-Datei herunter: http://download.csdn. net /download/unityoxb/4058802

Kopieren Sie nach der Dekomprimierung die Standard- und allgemeinen Dateien in das Verzeichnis public/skins

1. Die Datenbankdatei verwendet mysql.sql

create table if not exists `core_pages`(
   `id` int(10) unsigned not null auto_increment comment '页面唯一ID',
   `cid` int(10) unsigned not null default '0' comment '分类ID',
   `uid` int(10) unsigned not null default '0' comment '用户ID',
   `title` varchar(255) not null comment '页面标题',
   `body` text not null comment '内容',
   `status` tinyint(4) not null default '1' comment '是否发布',
   `createtime` int(11) not null default '0' comment '创建页面时间',
   `updatetime` int(11) not null default '0' comment '修改页面时间',
   `comment` tinyint(4) not null default '0' comment '页面是否评论功能',
   `start` tinyint(4) not null default '0' comment '页面级别',
   `top` tinyint(4) not null default '0' comment '置顶',
   primary key (`id`)
)ENGINE=InnoDB default charset=utf8;

Öffnen Sie MySQL und verwenden Sie die Quelle mysql.sql, um die Tabellenstruktur zu erstellen

2. Konfigurieren Sie die Datei application.ini (hahacom/applicaton/configs)

Konfigurieren Sie hauptsächlich das Zend Framework MySQL verbinden

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1

resources.db.adapter = "PDO_MYSQL"
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = "root"
resources.db.params.dbname = "test" --这是数据名称
resources.db.isDefaultTableAdapter = "TRUE"
resources.db.params.driver_options.1002 = "SET NAMES UTF8;"

3. Public/index.php

// Define application environment
defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : '<strong>development</strong>')); //修改成测试环境

4. Erstellen Sie ein Artikelanzeigemodell (das Modell speichert hauptsächlich Datenmodelle ähnlich wie Javabean). von Die Datenbank erhält die Daten und speichert sie im Speicher)

Führen Sie den Befehl aus: zf create model page

generiert automatisch eine models/Page.php-Datei

<?php

class Application_Model_Page
{
   protected $_name = &#39;core_pages&#39;;
   public $result;   

   public function getPage($where = array())
   {
      $db = Zend_Db_Table::getDefaultAdapter();
     // $db = $this->getAdapter();
      $select = $db->select();
      /*if($where != null)
       {
          //$select->where(' star = ? ', $where);
          //$sql = $db->quoteInto("select * from `core_pages` where `star`= ?", $where);
          //$result = $db->query($sql);
          $select->from('core_pages','*')->where('star = ?', $where)->limit(1);
       }*/
       $select->from('core_pages','*');
       if(count($where)>0)
       {
          foreach($where as $key=>$value)
             $select->where($key.' = ?',$value);
       }
      //$row = $result->fetch();
      $row = $db->fetchAll($select);
      if($row)
      {
         return $row;
      }
      else
      {
         echo "=================";
         return null;
      }
   }

   public function getPages($where = null)
   {
       $db = Zend_Db_Table::getDefaultAdapter();
       if(is_numeric($where))
       {
           //$row = $db->find($where)->current();
          $select = $db->select();
          $select->from('core_pages','*');
          $select->where('id = ?', $where);
          $row = $db->fetchRow($select);
       }
       if(is_array($where) && count($where)>0)
       {
          
          $select = $db->select();
          $select->from('core_pages','*');
          foreach($where as $key=>$value){
              $select->where($key.'=?', $value);
          }
          $row = $db->fetchAll($select);
       }
      if($row)
      {
         return $row;
      }
      else
      {
         echo "=================";
         return null;
      }

   }
}

?>

5. Controller erstellen

Führen Sie den Befehl aus: zf create controller news generiert automatisch controllers/NewsController.php

<?php

class NewsController extends Zend_Controller_Action
{

    public function init()
    {
        /* Initialize action controller here */
    }

    public function indexAction()
    {
        // action body
        $modelPage = new Application_Model_Page();
        //$star = 1;
        $where = array(&#39;top&#39;=>1, 'comment'=>1);
        $newsStar = $modelPage->getPage($where);
        //print_r($newsStar);
        $this->view->News = $newsStar;
        //$this->view->name = "hahaha"; 
    }


}

Führen Sie den Befehl aus: zf create controller page und zf Aktionsdetailseite erstellen

generiert automatisch „controllers/PageController.php“

<?php

class PageController extends Zend_Controller_Action
{

    public function init()
    {
        /* Initialize action controller here */
    }

    public function indexAction()
    {
        // action body
    }

    public function detailAction()
    {
        // action body
        $id = $this->_request->getParam('id');
        $modelPage = new Application_Model_Page($id);
		//if($modelPage == null)
		  //print_r('==============================');
		//print_r($id);
		//print_r($modelPage);
        $page = $modelPage->getPages($id);
        $this->view->page = $page;
    }


}

5. Erstellen Sie anschließend die Ansichtsdatei

/views/scripts/. news/index.phtml

<?php
echo "<h3>".$this->News[0]['title']."</h3>";
echo $this->News[0]['body'];
//echo $this->name;
if($this->News)
{
   /*echo "<ul>";
  // print_r($this->News);
   foreach($this->News as $val)
   {
      echo "<li>"."<u>".$val['title']."</u>"."</li>";
   }
   echo "</ul>";
   */
   echo "<ul class = &#39;listNews&#39;>";
   echo $this->partialLoop('row_pages.phtml', $this->News);
   echo "</ul>";
}
?>

/views/scripts/row_pages.phtml

<li>
   <a href = "/page/detail/id/<?php echo $this->id; ?>"><?php echo $this->title; ?></a>
   发表时间: <?php echo date(&#39;Y-m-d&#39;, $this->createtime); ?>
</li>

/views/scripts/page/ detail.phtml

<?php
   echo "<h2>".$this->page['title']."</h2>";
   echo "发表:".date('Y-m-d', $this->page['createtime'])."";
   echo "<hr/>";
   echo $this->page['body'];
?>

Screenshot ausführen:


Klicken Sie auf den Link:


Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.

Das Obige stellt PHP-Programmierbeispiele mit Zendframework vor, einschließlich inhaltlicher Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

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
Vorheriger Artikel:Konfiguration von Mongo auf tpNächster Artikel:Konfiguration von Mongo auf tp