对于一些公众的函数放在哪个文件?
可以写个helper类,放到那里面去。
对于一些公众的函数放在哪个文件?
可以写个helper类,放到那里面去。
对于整体项目,需要一个自己的公共基类,如 BaseController ,所有项目控制器全部继承此控制器,这样方便开发,如何声明此文件,应该放在哪里的?(使用多个模块开发时特别有用)
高级模版的话 可以在common目录再新建个controllers目录,文件名可以是CommonController 命名空间就是
namespace common\controllers;
普通模版,高级模版都可以在任意地方建立,只要命名空间正确,use路径正确,自定义位置
对于 YII的事件,我有一个疑问哈~ :在绑定的时候,如果是绑定一个系统函数,则直接传递一个函数名即可,但是在触发的时候,传递给函数的参数是$event,而$event是一个对象,但是对于PHP的系统函数,它们需要的参数是各种各样的,它怎么能正确处理呢?
是这样的
所以我的看法是应该不会直接绑定系统函数
可以看一下on方法如下,第四个参数可以传递参数到$event里面。然后回调函数可以在$event里面获取想要的变量值。
\yii\base\Event.php
如何在find()->asArray()->all()的结果中将时间戳转换成2015-06-18 16:33:23这种格式?
yii2 原封不动的 User模型
<?php
namespace backend\modules\core\models;
use Yii;
use yii\db\ActiveRecord;
class User extends ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return '{{%user}}';
}
public function attributeLabels()
{
return [
'id' => Yii::t('app', '用户ID'),
'username' => Yii::t('app', '用户名'),
'auth_key' => Yii::t('app', '认证key'),
'password_hash' => Yii::t('app', '密码'),
'password_reset_token' => Yii::t('app', '密码重置令牌'),
'mobile' => Yii::t('app', '手机'),
'email' => Yii::t('app', '电子邮件'),
'status' => Yii::t('app', '用户状态'),
// created_at,updated_at为时间戳例如1434616403
'created_at' => Yii::t('app', '创建时间'),
'updated_at' => Yii::t('app', '更新时间'),
];
}
}
都有时间戳了,不是在要用时间的时候转换一下就行了么?
我理解有误?
find是生成sql语句的,所以要像格式化时间就得用sql的DATE_FORMAT来格式化,建议不要这样做。
可以把sql查询出来的时间,在视图里用php来格式化更通用一些。
文档中貌似有种做法是这样的,但是要求不能使用asArray() queryBuilder,如下
上面的方式可以避免在view中格式化数据,实现复用,如果考虑model职责混乱,考虑将这些代码封装到行为中去。
在熟悉YII中自己尝试去写一个简单的新闻发布系统,然后其中涉及到布局文件中的数据。这个数据如果用 render
分配过去的话,会报错。网上百度了一下,看的不是很理解。特来请教
描述的详细点:
1,我有一个首页,加载布局 content
其中布局文件为头部 底部 还有 sider
2, 现在我需要在 sider
上显示数据,怎么分配过去
在基控制器里设置public属性,或者在及控制器里写actions
调用其他layout或action下的模版,比如调用_header这个头部视图文件
在yii rulers里怎么正则验证车牌啊,尤其是第一个汉字,
array('carmark','match','pattern'=>'/^[\u4e00-\u9fa5]{1}[a-zA-Z]{1}[a-zA-Z_0-9]{5}$/'),
这样写报错preg_match(): Compilation failed: PCRE does not support
正则中中文字符的匹配要用\x{4e00}-\x{9fa5} 而不是\u4e00-\u9fa5
问题描述 我在文章详情页添加上一页 下一页代码
public function actionIndex($aid)
{
$artilce = Article::model()->findByPk($aid);
// var_dump($artilce);die;
// 上一篇 下一篇
// var_dump($aid);die;
$up = Article::model()->find(array('condition'=>'aid <:AID','params'=>array(':AID' => $aid),'order'=>'atime desc',"offset"=>0,'limit'=>1));
$down = Article::model()->find(array('condition'=>'aid >:AID','params'=>array(':AID' => $aid),'order'=>'atime desc',"offset"=>0,'limit'=>1));
// var_dump($up);die;
$this->render('index',array('artilce'=>$artilce,'up'=>$up,'down'=>$down));
}
然后我在视图输出
<div class="up-down">
上一篇:<a href="<?php echo Yii::app()->createUrl('article/index',array('aid'=>$up->aid)) ?>"><?php echo $up->title ?></a><br>
下一篇:<a href="<?php echo Yii::app()->createUrl('article/index',array('aid'=>$down->aid)) ?>"><?php echo $down->title ?></a>
</div>
然后我鼠标移动到链接 源码是
<div class="up-down">
上一篇:<a href="/cms/cms/index.php?r=article/index&aid=1">测试文章</a><br>
下一篇:<a href="/cms/cms/index.php?r=article/index&aid=4">1234456625</a>
</div>
点击的时候提示
CHttpException
The system is unable to find the requested action "error". (C:\wamp\www\cms\framework\web\CController.php:483)
是什么原因造成的,请指教。谢谢
骚年,你生成这玩意儿两层<a href="https://www.yiichina.com/cms/cms/index.php?r=article/index&aid=1">测试文章</a><br>
cms是正确的么。出现这种问题,你先拿你当前url和这个进行对比下,排错。先确定url是否正确。
还有,在页面内的这种输出,比较建议使用yii/helpers/Ulr;的Url::to()
方法,记得to方法里面的内容需要加[]否则会生成局部链接。
具体修改的话我得看下你的代码测试下。
如果你使用了urlManger,那么你看看你这个方法是否做了设置,没有设置那就不用废话了设置一下,如果设置了,那就继续等待大神来解答
三楼,看你的了
有异常没捕获到,main.php里面配的errorHandler对应的action没有;debug模式没有具体错误吗,看看日志也行
我想删除不等于某个数组的记录,怎么使用yii实现
例:ids=['1','2']
,我删除ID不等于ids这个数组的记录
给舰长来个赞
config里面的redis设置在yii\redis\Connection类的init里面还是有的,到了open方法里面就变缺省的了.
打印出的东西是:
代码如下
'redis' => [
'class' => 'yii\redis\Connection',
'password'=>'111111',
'hostname' => '10.8.17.211',
'port' => 6379,
'database' => 0,
],
public function init()
{
parent::init();
echo $this->hostname.' '.$this->port.' '.$this->password.'<br>';
}
public function open()
{
echo $this->hostname.' '.$this->port.' '.$this->password.'<br>';
exit;
//........................
}
骚年你配置好后输出下Yii::$app->redis
看看有没得东西,我这边使用redis是OK的,Yii2.
楼上说滴对
@胖纸囧,路过,支持一下…
网上找了很多教程,其中bitnami,提供了一个很好到 式的gitlab安装途径。可以较好到建立多人合作环境。
问题
使用xampp工作到时候,跟gitlab建立到网页冲突。于是还是想回到gitweb建立网页版的分享页面。有没有哪位同仁有建立gitweb的详细教程。
在你仓库hook目录下创建post-receive文件,把下面代码写进去,把你的项目放到你的web根目录下,GIT_WORK_TREE的值记得改为你的项目目录
你是要搭建多人开发的git环境吗?
你是在本地搭建还是在云服务器上搭建?我在阿里云的ECS上给我们公司搭建过。
你本地有没有安装git,如果安装的话那么你就把你本机当作服务器让其他的人从你本地clone你的项目到他们的机器上就可以了,但是你本地的git库必须是 仓库,然后在配置一个hook到你的web根目录就可以了。
你现在的仓库建的是 仓库还是有项目的仓库?使用git init建的,还是用git init –bare建的?