作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 CakePHP 2.6 并尝试遵循简单的身份验证教程。我正在为我的 Auth->User
使用另一个模型 Account
。在我的 AppController 中添加 Flash
组件后 - 我在所有页面上看到错误消息:
Error: FlashComponent could not be found.
Error: Create the class FlashComponent below in file: app\Controller\Component\FlashComponent.php
<?php
class FlashComponent extends Component {
}
现在我知道我目前在 app\Controller\Component
中没有 FlashComponent.php 文件,我是否应该实际将其添加到那里?我在教程中没有看到任何有关它的内容。
谢谢!
应用 Controller
public $components = array(
'Flash',
'Auth' => array(
'loginRedirect' => array(
'controller' => 'accounts',
'action' => 'index'
),
'loginAction' => array(
'controller' => 'accounts',
'action' => 'login'
),
'logoutRedirect' => array(
'controller' => 'accounts',
'action' => 'login',
),
'authenticate' => array('Form' => array(
'userModel' => 'Account',
'passwordHasher' => 'Blowfish',
'fields' => array(
'username' => 'email',
'password' => 'token',
)
)
)
)
);
public function beforeFilter() {
$this->Auth->allow('index', 'view');
}
登录.ctp
<?php echo $this->Flash->render('auth'); ?>
<?php echo $this->Form->create('Account', array('action' => 'login')); ?>
<?php echo $this->Form->input('email', array('class' => 'form-control', 'type' => 'email', 'placeholder' => 'Email', 'label' => false)); ?>
<?php echo $this->Form->input('token', array('class' => 'form-control', 'type' => 'password', 'placeholder' => 'Password', 'label' => false)); ?>
<?php echo $this->Form->submit('Sign In', array('class' => 'btn btn-primary btn-block btn-flat')); ?>
<?php echo $this->Form->end(); ?>
最佳答案
FlashComponent
已在 v2.7 中添加到 CakePHP 中。对于之前的版本,您需要使用 SessionComponent
并在 Controller 中使用 $this->Session->flash()
来设置 Flash 消息。
关于CakePHP:找不到 FlashComponent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34079853/
我正在使用 CakePHP 2.6 并尝试遵循简单的身份验证教程。我正在为我的 Auth->User 使用另一个模型 Account。在我的 AppController 中添加 Flash 组件后 -
我是一名优秀的程序员,十分优秀!