博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【PHP-ZF】项目实战纵览(持续更新中...)
阅读量:7070 次
发布时间:2019-06-28

本文共 3868 字,大约阅读时间需要 12 分钟。

  hot3.png

做前端怎能完全不通后端?哈哈,开个玩笑而已。

【Project 1】

万事开头难果然不假:从切完他们天马行空的设计,到实现他们各种需要的特效,再到现在用zf敲后台跑通数据库。整整一周时间。接下来就是等他们上传数据测试,和让头帮忙完善了。

上帝啊,我人生中第一个完全自己一手搞定的项目终于诞生了,不是没写过后台,但是从来没有上线发布,都是很少的代码的小case。然后用了从来没用过的zf框架,这个我听了两小时视频的东东。。。一边看手册一边google,这个项目总算走到最后一步了。。。。

come on!~听说后面还有二期和三期,加油加油!!!!!!!!等项目完工再来整理这一堆乱码

1、创建zf1.12的空项目

用zendstudio创建空项目,然后用zf.bat以该项目文件夹作为目录,创建zf1.12空项目。

2、空项目创建之后

【1】根据需要,在application.ini文件中进行相关配置。示例如下:/* 配置项一定要放在production之下 */

[production] phpSettings.display_startup_errors = 1                             /* 系统配置,用于调试 */    本周开始做,一直没开这三个选项,盲人摸象般解决了各种问题,但时间浪费了不少。phpSettings.display_errors = 1                                         /* 系统配置,用于调试 */ resources.frontController.params.displayExceptions = 1      /* 系统配置,用于调试 */ includePaths.library = APPLICATION_PATH "/../library" bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" appnamespace = "Application" resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" resources.frontController.params.displayExceptions = 0 resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts" /* 以下为自定义共用配置项*/website.title       = "**********"website.keywords    = "**********" website.description = "**********" website.path = '/catholicProject/gunuoqi/public/'  iDatabase.project_id = "**********" iDatabase.password   = "**********"

【2】在bootstrap.php中进行如下设置:

/* 引入全局使用的自定义常量文件 */

 protected function _initConst () {     require 'constants.php';     require 'mongoConstants.php'; }  protected function _initConfig() {     $this->_config = $this->getOptions();     Zend_Registry::set('config', $this->_config); }  protected function _initMongoDB () {     include('iDatabase.php');      $mongoDB = new iDatabase($this->_config['iDatabase']['project_id'], $this->_config['iDatabase']['password']);     Zend_Registry::set('mongoDB', $mongoDB);          //var_dump($mongoDB->find('group',array())); }

【3】ajax请求:

注意js的ajax请求地址可以在头部写入前缀,后面进行拼接。该前缀由php输出,即在application.ini中定义的配置项 website.path 的值。该值的设置见【1】所示。

【4】布局文件的简单使用:

范例如下:

其中需要注意的是:图片,js,css的地址,改地址可以由website.path 来拼接。也可以采取《》中所示第二种兼容性方法。

其实,该方法提取出来的值跟上面website。path所设置的值一般情况下都是以根目录为顶级目录。

doctype() ?> 
      
     
<?php echo $this->config["website"]["description"].$this->title?>     
config["website"]["description"]?>"> 
config["website"]["keywords"]?>">     
     
     
     
     
config){     echo '
var websitePath = "'.$this->config["website"]["path"].'"';     }?>  
id ?>_box"> 
isLoading){ echo '
public.'/img/index-load-loading.gif" alt="古诺奇整体厨房">'; } ?> 
     
         
public;?>/">         
public;?>/">          
     
layout()->content ?>       
isHasNoFooter){     echo('
© 2012 *****有限公司');     }?> 
   

【4】如果是用的wamp集成环境,一定要手动开启php_soap支持,譬如这次,用头给的芒果的接口时,导致数据库连接一直不成功,最后才发现是这个问题。唉。

【5】ajax请求,php的相关代码:

 if($method == "ajax"){     print_r($json);     // 打印出数据     exit();                 //阻止模板调用,结束方法     return;                //返回 }

【6】文件引用,路径问题:

 require_once 'Zend/Controller/Action.php';                      // 引用library中的库文件目录 require_once APPLICATION_PATH.'/models/Group.php';   // 引用application中其他文件夹中的php文件

注意:上面对action的引用,在用zendstudio自动生成模板文件时,会自动加上这句,注释掉该行代码仍能运行。

【7】头给的iDatabase接口中,各不同条件查询的使用范例:

 var_dump($id); $rst_group = $this->_group->findOne(array("_id" => $id)); $rst_groupHot = $this->_groupHot->find(array("gourp_id"=> $id), array(),array(),0,100); $rst_groupXijie = $this->_groupXijie->find(array("group_id"=> $id), array(),array(),0,100);  var_dump($this->_group->find(array(),array()));

3、项目发到到5.40之后

    a.修改路径 application.ini中

    website.path = '/项目目录文件名/'

    b.添加重定向,在.htaccess文件中

    rewritebase /项目目录文件名/


【Project 2】

上一次做PHP项目,已经是一年多以前。因为不想求人,决定自己搭UED Workspace 平台,再次投入 PHP 的怀抱。加油!~

-- 2014.5.12

%>_<%...因为某些气死人的原因,中途停掉,现在重新启动。手里资源多了,可以做的事情更多了,我可以专心规划和搭建平台了。

-- 2014.10.28

1、以 iwebsite2 为模板新建空项目,数据库 MongoDB

2、

转载于:https://my.oschina.net/maomi/blog/97069

你可能感兴趣的文章
c++操作符重载_12
查看>>
eclipse 安装反编译工具
查看>>
我的Java开发学习之旅------>Java多线程下载文件 实例
查看>>
WireShark简单使用以及TCP三次握手
查看>>
什么是@guid
查看>>
nodeType的12种类型
查看>>
步步为营 .NET 代码重构学习笔记 十三
查看>>
053:Field的常用参数详解:
查看>>
读书笔记之SQL必知必会
查看>>
Jquery获取input表单的内容
查看>>
Paint、Canvas
查看>>
关于读写锁算法的java实现及思考
查看>>
最小堆排序
查看>>
iOS-网络爬虫
查看>>
jira
查看>>
elasticsearch rpm 安装
查看>>
Python基础总结(字符串常用,数字类型转换,基本运算符与流程控制)
查看>>
数据预处理——剔除异常值,平滑,归一化
查看>>
Visual stuido 项目路径的奇怪问题
查看>>
java局部变量和临时变量
查看>>