对于一些公众的函数放在哪个文件?
可以写个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
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建的?
新建了一个modules 程序默认走的Default控制 怎么设置让它默认访问Set 控制器呢
在你的 IndexModules.php
加上
这行代码,即可。
见: vendor/yiisoft/yii2/base/Module.php
对于一些js css image这类的一般使用一个单独的文件夹存放,如assets 或者 static 文件夹集中存放,那么如果定义此路径信息,还有如果使用独立的域名的话,又应该如何设置的。我下载的官方实例,没有找到在哪里设置这个的,只找到AppAsset.php文件,也看了官方的文档http://www.yiichina.com/doc/guide/2.0/structure-assets
这里@webroot和@web系统预定义别名,只是没有找到在哪个地方设置的静态资源使用 web/asset/xxxx 目录。
<link href="/assets/cec35f56/css/bootstrap.css" rel="stylesheet">
直接给你源码你明悟吧