谁一开始就是大神?

PHP 第108页

PHP

怎么在服务端向mobile的客户端推送消息?[2.0]

lionlemon阅读(107)

有没有谁在yii下用过推送?

和YII无关,也许你需要百度 极光推送、个推、友盟这些第三方服务商。
如果你希望向APPLE发送APNS推送,那么只需要遵循规范,然后CURL即可。
长连接?SOCKET?可以倒是可以,但是你确定?

在DetailView中如何自义为自己想要的样式?[2.0]

Ellieapple阅读(107)

用Gii直接生成的视图文件里:

<?= DetailView::widget([
    'model' => $model,
    'attributes' => [
        'uid',
        ['label'=>'gender','value'=>$model->getGenderText()],
    ],
]) ?>

这里面输出的HTML怎么自定义或修改样式?

研究了一下Yii2.0源码,找到了答案,给大家分享如下:
DetailView可以自由定义样式
输出后的HTML为:
其它具体参数,可以参考【yii\widgets\DetailView
不错,感谢分享~~~
内容呈网格状···咋弄··

用Yii的企业多吗?感觉很少啊。想找一书籍,在大淘宝上居然搜不到。[2.0]

Wendyseagull阅读(112)

毕业论文打算用YII做个网站,看到有人介绍这边书《应用Yii1.1和PHP5进行敏捷Web开发》发现淘宝居然没有,甚至其他书籍也没。。

yii1的书,http://www.yiibook.com/ 有下载。
yii2的书只有英文的。可以到http://it-ebooks.info/search/?q=yii&type=title 这里下载。
Baidu Tencent都有使用的.
Sina, jumei, xiaomi 也都有使用的。

Yii中出现“<?=...?>”是什么意思?[2.0]

Fionapony阅读(110)

Yii 中出现的“<?=” 是什么意思啊?比如下段代码

<?= Breadcrumbs::widget([
    'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],
]) ?>

这时php的标签,和<?php ?>一样的。用<?= ?> 就不用echo,否则你要输出的话,需要加上echo词汇输出。
这个就是用在模板里面方便点。
这个不是php语法么?是php的一种输出格式
楼上的回答太美妙了,赞一个
其实建议你用最标准的<?php ?>这样大家都能看懂,新手也不会有这个问题了
最好用标准格式
这样的方式是必须开PHP扩展才可以实现的,向下不一定会兼容
我的觉得yii2 对 <?= 进行了处理,并不像上面说的那样是php的语法,在输出widget时,将<?= 换成 <?php 试试?

Yii2.0控制器的behaviors[2.0]

foreverapple阅读(113)

class CustomController extends ActiveController
{
    public $modelClass = 'app\models\Custom';
    // public $serializer = [
    //     'class' => 'yii\rest\Serializer',
    //     'collectionEnvelope' => 'items',
    // ];

    public function behaviors()
	{
	    return ArrayHelper::merge(parent::behaviors(), [
	        'authenticator' => [
	            'class' => QueryParamAuth::className(),
	        ],
	        'rateLimiter' => [
	            'class' => RateLimiter::className(),
	            'enableRateLimitHeaders' => false,
	        ],
	    ]);
	}

}

源代码中,控制器的behaviors是在哪里处理的?
比如说:QueryParamAuth对象是在哪里实例化的?并且调用了authenticator()方法。

你给的例子,其实不能完全说明 behaviors 的行为,这里是 filter 的行为,但 filteryii2yii 中的实现不一样,yii2 中的 filter 是特殊的 behavior ,被框架多加了一层的处理,这里我只说明下 filter 的调用, 普通的 behavior 我暂时还没有用到,不清楚
一句话,QueryParamAuthauthenticator() 方法,是在 Controller 调用 beforeAction 时触发的,你可以在 Controller 复写 beforeAction 方法为空操作,看看还会不会调用。
在底层的 Controller 中,beforeAction 执行了 $this->trigger(self::EVENT_BEFORE_ACTION, $event) 触发了 EVENT_BEFORE_ACTION 事件,在 yii\base\Componenttrigger 会首先 ensureBehaviors(),把 behaviors() 定义的行为附加到 Controller
}
QueryParamAuth 最终继承自 ActionFilter 的,来看看 ActionFilterattach 时会做什么
会在 Controller 上绑定一个 EVENT_BEFORE_ACTION 事件,行为是执行自己的 beforeFilter 方法
到这里,你看到了,ActionFilter 最终会执行自己的 beforeAction 方法,当然这可不是 Controller 中的 beforeAction 方法,还会处理些前置check,如 exceptonly 检测,这个 beforeAction 正是你写 filter 时需要复写的一个方法,至于 QueryParamAuthauthenticator() 方法,自己可以接着走代码
入口是 ControllerbeforeAction 方法,可以自己走一遍源代码,就这些

关于内容格式化输出的问题[2.0]

Tinaslim阅读(117)

大家好,请问,我有个字段“start_at”是unixtime格式保存的时间。
我想在输出是现实为日期格式 Y-m-d
在view界面我知道用 start_at:datetime 可以格式化为日期
但是在ActiveForm中我使用了DatePicker控件时,应该怎么让他也格式化成日期形式呢?我的代码如下。
谢谢大家。

<?= $form->field($model, 'start_at')->widget(
    DatePicker::className(), [
    'inline' => FALSE,
    'language' => 'zh-CN',
    'clientOptions' => [
        'autoclose' => true,
        'format' => 'yyyy-mm-dd',
    ]
]); ?>

‘dateFormat’ => ‘php:Y-m-d’,
需要添加
"yiisoft/yii2-jui": "*"
使用如下:
api参考:
http://www.yiiframework.com/doc-2.0/yii-jui-datepicker.html

ActiveQuery怎么生成(**and**)OR(**AND**)的SQL?[2.0]

Marksea阅读(102)

用activequery怎么生存(and) OR ( AND )的sql?
我括号里面and两边的条件含有运算符。
问题如果都是=我会,就是不知道怎么加其他运算符。
比如:
['or', ['type' => 11, test = 1], ['id' => 10, uid=5]
生成(type=11 and test=1) or (id=10 and uid=5)
我要生成(type=11 and test>=9) or (id=10 and uid=5);
怎么加运算符?

用andWhere()后缀在where()后面就ok了

Yii中jQuery的引入问题[2.0]

JackLion阅读(112)

我想在一个页面中使用ajax,但是jquery.js是在布局文件main.php的末尾引用的,导致ajax失效,其他jquery代码也是失效的。想到解决的办法有二。

第一:将jquery代码写到布局里面,显然不可取,因为这样会导致文件会有多于的jquery代码。
第二:将jquery.js由布局文件的末尾移到开头,但是问题来了,在布局文件main.php中我并没有看到引入jquery.js的源码,不知道在哪里

引入的,所以就没法移动。 求解?

解决办法,在配置文件web.php中的components里:
傻孩子,其实也可以定制一下jquery的,框架自带的jquery没有压缩的,比较大,可以把它在源码处改写,换成自己的jquery,这样能节省几十kb哦

yii2.0如何用B控制器继承A,A控制器继承yii\web\Controller[2.0]

likelyStone阅读(108)

由于像在A控制器中的__construct()做一些简单的验证,
然后B控制器才是访问的控制器调用parent::__construct()去做通用的验证,
但是会报错,报错如下

PHP Fatal Error – yii\base\ErrorException
Call to a member function getUniqueId() on a non-object

yii 框架需要自己创建 Controller 的实例,你任何时候都不需要覆盖人家的 构造函数,如果你需要覆盖的话,也需要和它的 方法签名 一样,并且调用 parent::__construct99.999% 的情况下,你不需要这么做
你的问题是,在 controler 初始化的时候,做些验证,用 init() 方法就可以了

登录

找回密码

注册