22NOVEMBER |
|---|
今天用到了一个新的小功能,是关于headLink和headScript的,对于新手来说需要学习的东西很多啊。经查资料找到用法,这里记录下:
headLink用于对css文件的引用,而headScript用于js脚本文件的引用。可以直接在模板中使用,代码如下:
/application/views/layouts/layout.phtml
headLink()->appendStylesheet($this->baseUrl() . '/css/global.css')
->headLink()->prependStylesheet($this->baseUrl() . '/css/resets.css')
?>
headLink() ?>
也可以在代码中添加,比如这里在Bootstrap.php中进行了添加:
/application/Bootstrap.php (function not complete)
function \_initView()
{
$view->headLink()->prependStylesheet('css/resets.css')
->headLink()->appendStylesheet('css/global.css')
->headLink()->appendStylesheet('css/forms.css')
->headLink()->appendStylesheet('css/pages.css');
}
headScript使用方法一致,不过方法名改了,代码如下:
/application/Bootstrap.php (function not complete)
function \_initView()
{
$view->headScript()->prependFile('js/jquery-1.3.2.min.js')
->headScript()->appendFile('js/jquery-ui-1.7.min.js')
->headScript()->appendFile('js/jquery.easing.1.3.js')
->headScript()->appendFile('js/docready.js');
}
我们举的例子都是在Bootstrap.php中使用的例子,再举个控制器中使用的例子:
public function init ()
{
$this->\_helper->layout()->setLayout("default");
$this->view->headLink()->appendStylesheet('/public/css/commshot.css');
}
这个init是控制器的初始化方法。
23SEPTEMBER |
|---|
最近工作比较乱,不想多说。研究一周多的php工作要暂停,不知道到时候恢复的时候是不是能想的起来。先记录下来一部分,做个备忘,免得将来又从头开始。
环境配置不记录了,前面有提到。zend framework就是一组类库,下载下来放在站点根目录的library目录中即可,index.php做程序入口,所有访问经该入口路由到具体的处理。
根据当前的开发方式,实际开发时,每创建一个页面,有以下几个步骤:
在application目录的models目录下,创建表的表对象,其实很简单,通过zend studio可以直接创建,代码如下:
<?php
require_once ‘Zend/Db/Table/Abstract.php’;
class feed extends Zend_Db_Table_Abstract
{
/**
* The default table name
*/
protected $_name = ‘feed’;
}
这是一个简单的feed对象,对应数据库中的feed表,有了它以后,可以直接用面向对象的方式访问该表,而不需要编写sql语句。当然,也可以在里面封装些数据库的常用操作方法。数据操作的方法记录在后面。
比如
routes.register.type = “Zend_Controller_Router_Route_Static”
routes.register.route = “user/register”
routes.register.defaults.controller = “register”
routes.register.defaults.action = “index”
这是一段注册页面的配置,注册类型是静态地址,地址为user/register,对应的控制器是register,控制器中的action是index。
再看另一段配置:
routes.shot.route = “project/shot/list/:pid”
routes.shot.defaults.controller = “shot”
routes.shot.defaults.action = “index”
routes.shot.map.1=“pid”
这里pid是参数,意为project/shot/list/xx 这样一个路径xx就是pid参数,可以用request方式获取到值。
在我们的方法中,所有程序都放在了modules文件夹中,在modules/default/controller中创建控制器,比如我们路由中有个register的控制器,其名称就是:registerContrlller.php。
看下面这个代码:
<?php
require_once ‘Zend/Controller/Action.php’;
class shotController extends Zend_Controller_Action{
public function init ()
{
$this->_helper->layout()->setLayout(“default”);
}public function indexAction ()
{…
}
}
这个控制器是针对前面第二段路由配置的,类名是shotController,继承自
Custom_Controllers_AuthController(这个zendstudio会自动生成,不用担心记不住),indexAction就是该路由的触发的动作,一个控制器中可以有多个action。init方法是初始化方法,比如某控制器中有多个action,则每个action执行前都会执行init方法。
所谓模板,就是以phtml为后缀的一个html块,不过其中可以写php代码,示例:
New Shot
<?php
echo $this->form;?>
Shot List
shot budget
<?php
if($this->shots!=null){
foreach ($this->shots as $u){
?>
<?php echo $u->name ?> <?php echo $u->budget ?> id?>‘>edit Shapez Theme
· Home Playground About
09
SEPTEMBER确认的php和apache环境配置:
1.请PHPer确认你的PHP版本是否在5.2.0以上..如果不是的话..请更新到5.2.0,否则.Zend Framework 好像用不了。
PHP源码最新版下载地址为:http://www.php.net/downloads.php.
2.你的PHP环境配置好了之后,请打开php.ini文件,确认PDO扩展是否打开:
;extension=php_mysql.dll
;extension=php_pdo.dll
;extension=php_pdo_mysql.dll
修改
extension=php_mysql.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll 去掉分号
还有:
; Windows: “path1;path2”
include_path = “.;c:phpincludes;e:wwwrootzendflibrary” (zend framework的libary支持)3.打开APACHE文件夹里面的httpd.conf文件.配置mod_rewrite.so的支持
#LoadModule rewrite_module modules/mod_rewrite.so
修改:LoadModule rewrite_module modules/mod_rewrite.so (去掉#号)才支持Zend framework4. 查找到httpd.conf文件,如果AllowOverride为None的话..请一定把None都改成all.这样你写.htaccess这样的文件才会起到作用..
将所有的:AllowOverride None替换AllowOverride all 支持.htaccess文件
5.重新启动你的APACHE服务器.这样我们的PHP环境就可以运用Zend Framewrok了.
安装zend tool
下载zend framework的zip文件,解压,配置环境变量的path路径:
在path变量的结尾处增加:
;D:Program FilesZendZendFrameworkbin
该路径是解压目录中的bin目录的路径,注意前面的;不用丢掉
测试安装是否成功:
在命令行中输入:
zf show version
这句话是显示版本,如果顺利,会输出版本,否则会报错。我这里显示:
zend framework version:1.11.10
创建项目
可以使用zendtool创建项目,命令行:
通过命令行进入站点根目录(一般是htdocs目录),键入命令:
zf create project zf_proj
然后回车,会创建一个zf_proj的目录,里面自动创建一些必要的文件和文件夹。目录结构如下:
如果没有安装phpuint这个单元测试工具的话,会有提示,不过没关系,不用理它。
当然,你也可以把下载的目录拷贝到自建的目录,刚才那个命令并未做任何配置的工作。
一般来说,图片、js和css文件要防止public目录下,而library文件夹里面要放下在到的zendframework的文件,就是把压缩包里的library文件夹里的内容(其实只有一个zend文件夹)拷贝过来就可以了。
好了,现在我们测试下,打开以下地址:
就可以看到欢迎页面,这里就不上图了。