谁一开始就是大神?

PHP 第93页

PHP

如何义自己的公共控制器基类[2.0]

Honeypony阅读(28)

对于整体项目,需要一个自己的公共基类,如 BaseController ,所有项目控制器全部继承此控制器,这样方便开发,如何声明此文件,应该放在哪里的?(使用多个模块开发时特别有用)

高级模版的话 可以在common目录再新建个controllers目录,文件名可以是CommonController 命名空间就是
namespace common\controllers;
普通模版,高级模版都可以在任意地方建立,只要命名空间正确,use路径正确,自定义位置

关于YII事件的疑问[2.0]

Bellatom阅读(29)

对于 YII的事件,我有一个疑问哈~ :在绑定的时候,如果是绑定一个系统函数,则直接传递一个函数名即可,但是在触发的时候,传递给函数的参数是$event,而$event是一个对象,但是对于PHP的系统函数,它们需要的参数是各种各样的,它怎么能正确处理呢?

是这样的
所以我的看法是应该不会直接绑定系统函数
可以看一下on方法如下,第四个参数可以传递参数到$event里面。然后回调函数可以在$event里面获取想要的变量值。
\yii\base\Event.php

如何在find()后将时间戳转换成日期格式[2.0]

CGdear阅读(30)

如何在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职责混乱,考虑将这些代码封装到行为中去。

yii1.1.16中需要给布局文件数据的时候怎么处理[1.1]

fationapple阅读(28)

在熟悉YII中自己尝试去写一个简单的新闻发布系统,然后其中涉及到布局文件中的数据。这个数据如果用 render 分配过去的话,会报错。网上百度了一下,看的不是很理解。特来请教

描述的详细点:

1,我有一个首页,加载布局 content 其中布局文件为头部 底部 还有 sider

2, 现在我需要在 sider 上显示数据,怎么分配过去

在基控制器里设置public属性,或者在及控制器里写actions
调用其他layout或action下的模版,比如调用_header这个头部视图文件

yiirulers正则验证

loveelephant阅读(28)

在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

Yii视图文件点击出错[1.1]

CGJames阅读(29)

问题描述 我在文章详情页添加上一页 下一页代码

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模式没有具体错误吗,看看日志也行

数据库条件notin怎么组建[2.0]

CGslim阅读(29)

我想删除不等于某个数组的记录,怎么使用yii实现
例:ids=['1','2'],我删除ID不等于ids这个数组的记录

给舰长来个赞

redis配置不能生效[2.0]

Lislim阅读(29)

config里面的redis设置在yii\redis\Connection类的init里面还是有的,到了open方法里面就变缺省的了.
打印出的东西是:redis.png
代码如下

 '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.
楼上说滴对
@胖纸囧,路过,支持一下…

如何使用xampp,gitweb搭建多人合作到工作环境

Beeslim阅读(31)

网上找了很多教程,其中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建的?

登录

找回密码

注册