标签归档:zend framework

zend framework

zend framework 输入网页,发送邮件——zendframework 学习笔记之三

今天做的是给注册后的用户发送一个邮件,遇到些问题,在这里先说一下。

没有用zend自带的Zend_Mail组件,用的是在网上找到一个 发送邮件的类,用的是 socket方式发送 参考的PHP100视频教程。
在zf1.11.8中,直接用的 bin/zf.bat 生成的项目, Bootstrap.php和index.php 里面不在另外进行设置。要加载另外的类或者自己写的类最好是放在 models文件夹中,放在其他文件下 好像都会出现 找不到类,无法导入
使用了 这个类后,下面就是设置邮件的内容了
     $templater = new Zend_View();
     $templater->name=”welcome”;
     $templater->setScriptPath(‘./application/views/scripts/temp’); //设置文件路径
     $mailbody=$templater->render(‘regmail.phtml’); //

设置
文件名
这里最好把 模版文件用 .php或者 .phtml,我开始用的 .html后缀的文件 不能输出变量,不知道是不是我哪里弄错了,还是软件的问题。
反正改成 .phtml就好了,就可以输出变量了。
这样就设置好了,然后调用 邮件类,发送。就好了,今天一下午就学习了 这么点。。。
这进步好像是太慢了。

zend framework 登录 权限管理——zendframework 学习笔记之二

登录,权限管理都没有用 zend自带的组件。都是在 控制器里面完成的。主要说一下思路

用户进入网站,给用户一个 访客的身份。在indexAction里面,创建session对象 ,在判断

$mysession = Zend_Session_Namespace(‘mysession’);

if(!isset($mysession->role))

{

$mysession->role=’guest’;

}

登录后根据数据库的 身份,设置 $mysession->role的值。如果为member

登录后

$mysession->role=‘member’;

在输出数据的时候根据 $mysession->role 的值,进行判断。。。

zendframework 1.11.8 简单安装 连接数据库——zendframework 学习笔记之一

设置环境就不说了。。。这里就说一下文件的设置

入口文件 index.php
<?php
// Define path to application directory
defined(‘APPLICATION_PATH’)
   || define(‘APPLICATION_PATH’, realpath(dirname(__FILE__) . ‘/application’));         //官方默认的是 /../application 那是因为入口文件放在了 public里面
// Define application environment
defined(‘APPLICATION_ENV’)
   || define(‘APPLICATION_ENV’, (getenv(‘APPLICATION_ENV’) ? getenv(‘APPLICATION_ENV’) : ‘production’));
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(realpath(APPLICATION_PATH . ‘/../library’),get_include_path(),)));
/** Zend_Application */
require_once ‘Zend/Application.php’;
// Create application, bootstrap, and run
$application = new Zend_Application(
   APPLICATION_ENV,
   APPLICATION_PATH . ‘/configs/application.ini’
);
$application->bootstrap()
           ->run();
这个文件只对官方的做了一个地方的修改
application/Bootstrap.php
没有修改,就是一个 空类
<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
}
配置文件 application/configs/application.ini
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
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.db.adapter = “pdo_mysql”
resources.db.params.host = localhost
resources.db.params.username = “root”
resources.db.params.password =
resources.db.params.dbname = “zend”
resources.db.isDefaultTableAdapter = true
resources.db.params.driver_options.1002 = “SET NAMES utf8”
[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
红色部分是数据库连接部分,这里跟官方的 有点不同
application/controller/IndexController.php
<?php
class IndexController extends Zend_Controller_Action
{
    public function init()
    {
    $this->view->baseUrl = $this->_request->getBaseUrl();
        /* Initialize action controller here */
    }
    public function indexAction()
    {
    $notebook=new Application_Model_Notebook(); //以前在入口文件声明了路径,直接就用 Notebook()
    $this->view->notebook=$notebook->fetchAll()->toArray();
    }
}
application/model/Notebook.php
<?php
class Application_Model_Notebook extends Zend_Db_Table //暂时还没明白 Zend_Db_TableZend_Db_Table_Abstract的区别,好像都可以
{
protected $_name =”notebook”;
protected $_primary = ‘id’;
}
?>
好像就是这样了。第一次写,算是学习笔记了。。。下一个任务把这个文件完善。。。