cakephp 学习小结 6

1 把运行时,cake下部的debug信息改掉,可以这样

   把app\config\core.php的第43行
   * Development Mode:
 *  1: Errors and warnings shown, model caches refreshed, flash messages halted.
 *  2: As in 1, but also with full debug messages and SQL output.
 *  3: As in 2, but also with full controller dump.
 *
 * In production mode, flash messages redirect after a time interval.
 * In development mode, you need to click the flash message to continue.
 */
 Configure::write('debug', 2);
  改为Configure::write('debug', 0);

2 把比如http://localhost:8082/myphp5/quickwall/home改
为http://localhost:8082/myphp5/quickwall即可访问,
更改app\config\route.php里,改为
  Router::connect('/', array('controller' => 'questions', 'action' => 'home'));
   
 

3 比如自定义验证器的编写
    在usermodel中
function checkUnique($data, $fieldName) {
$valid = false;
if(isset($fieldName) && $this->hasField($fieldName)) {
$valid = $this->isUnique(array($fieldName => $data));
}
return $valid;
}

'unique' => array(
'rule' => array('checkUnique', 'username'),
'message' => 'User name taken. Use another'
)

4 function beforeFilter(){
$this->Auth->allow('signup');
}
  该filter在各个action前先执行,象JAVA中的过滤器了。allow则允许哪些action是可以不经过auth验证就执行的。

 


 在app目录下写个app_controller.php,其他类继承它
function beforeFilter(){
$this->Auth->loginRedirect = array('controller'
=> 'questions', 'action' => 'home');

$this->Auth->logoutRedirect = array('controller'
=> 'questions', 'action' => 'home');

$this->Auth->allow('signup', 'confirm', 'home', 'show');
$this->Auth->authorize = 'controller';
$this->Auth->userScope = array('User.confirmed' => '1');
$this->set('loggedIn', $this->Auth->user('id'));
}


function isAuthorized() {
return true;
}

  其中$this->Auth->loginRedirect,$this->Auth->logoutRedirect指出登陆成功,退出后的路径了。
userScope指明当某个条件成立时,才允许登陆,否则不允许
$this->set('loggedIn', $this->Auth->user('id'));把登陆后的用户id放到loggedin,以方便VIEW层去用。
比如可以这样,在模版里

   <?php if($loggedIn): ?>
    。。。。。
 <?php else?>
  .....
<?php end if;?>


isAuthorized()是必须有的,这里可以写些成功验证后的函数,无的话这里可以return true

   然后在user_controll里的login,logout可以这样写。
 function login() {
}


function logout() {
$this->Session->setFlash('Logout');
$this->redirect($this->Auth->logout());
}


6 使用cookie
   <?php
class AppController extends Controller {
var $components = array('Auth', 'Cookie');
  ...
   在appcontrol中,设置
   $this->Auth->autoRedirect = false;
$this->Cookie->name = 'QuickWall';

if(!$this->Auth->user('id')) {
     $cookie = $this->Cookie->read('User');
     if($cookie) {
      $this->Auth->login($cookie);
     }
    }

 

 其中  $this->Auth->autoRedirect默认为true,这里为false,即代表要登陆成功后,
要到login中去,就是
  function login() {
if ($this->Auth->user()) {
if (!empty($this->data)) {
if (empty($this->data['User']['remember_me'])) {
$this->Cookie->del('User');
} else {
$cookie = array();
$cookie['username'] = $this->data['User']
['username'];
$cookie['password'] = $this->data['User']
['password'];
$this->Cookie->write('User', $cookie, true,
'+2 weeks');
}
unset($this->data['User']['remember_me']);
}
$this->redirect($this->Auth->redirect());

 

  

7 使用javascript
   增加helper,比如在appcontroller中:
    var $helpers = array('Html', 'Form', 'Javascript');
  在layout中增加
    <?php e($javascript->link('prototype-1.6.0.2')); ?>
 <?php e($scripts_for_layout); ?>
  把prototype.js等放到app/webroot/js目录下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本系统的研发具有重大的意义,在安全性方面,用户使用浏览器访问网站时,采用注册和密码等相关的保护措施,提高系统的可靠性,维护用户的个人信息和财产的安全。在方便性方面,促进了校园失物招领网站的信息化建设,极大的方便了相关的工作人员对校园失物招领网站信息进行管理。 本系统主要通过使用Java语言编码设计系统功能,MySQL数据库管理数据,AJAX技术设计简洁的、友好的网址页面,然后在IDEA开发平台中,编写相关的Java代码文件,接着通过连接语言完成与数据库的搭建工作,再通过平台提供的Tomcat插件完成信息的交互,最后在浏览器中打开系统网址便可使用本系统。本系统的使用角色可以被分为用户和管理员,用户具有注册、查看信息、留言信息等功能,管理员具有修改用户信息,发布寻物启事等功能。 管理员可以选择任一浏览器打开网址,输入信息无误后,以管理员的身份行使相关的管理权限。管理员可以通过选择失物招领管理,管理相关的失物招领信息记录,比如进行查看失物招领信息标题,修改失物招领信息来源等操作。管理员可以通过选择公告管理,管理相关的公告信息记录,比如进行查看公告详情,删除错误的公告信息,发布公告等操作。管理员可以通过选择公告类型管理,管理相关的公告类型信息,比如查看所有公告类型,删除无用公告类型,修改公告类型,添加公告类型等操作。寻物启事管理页面,此页面提供给管理员的功能有:新增寻物启事,修改寻物启事,删除寻物启事。物品类型管理页面,此页面提供给管理员的功能有:新增物品类型,修改物品类型,删除物品类型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值