有没有谁在yii下用过推送?
和YII无关,也许你需要百度 极光推送、个推、友盟这些第三方服务商。
如果你希望向APPLE发送APNS推送,那么只需要遵循规范,然后CURL即可。
长连接?SOCKET?可以倒是可以,但是你确定?
有没有谁在yii下用过推送?
和YII无关,也许你需要百度 极光推送、个推、友盟这些第三方服务商。
如果你希望向APPLE发送APNS推送,那么只需要遵循规范,然后CURL即可。
长连接?SOCKET?可以倒是可以,但是你确定?
求解
命令行工具 controller
有用,凑十个字啊回复
用Gii直接生成的视图文件里:
<?= DetailView::widget([
'model' => $model,
'attributes' => [
'uid',
['label'=>'gender','value'=>$model->getGenderText()],
],
]) ?>
这里面输出的HTML怎么自定义或修改样式?
研究了一下Yii2.0源码,找到了答案,给大家分享如下:
DetailView可以自由定义样式
输出后的HTML为:
其它具体参数,可以参考【yii\widgets\DetailView】
不错,感谢分享~~~
内容呈网格状···咋弄··
毕业论文打算用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 中出现的“<?=” 是什么意思啊?比如下段代码
<?= Breadcrumbs::widget([
'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],
]) ?>
这时php的标签,和<?php ?>一样的。用<?= ?> 就不用echo,否则你要输出的话,需要加上echo词汇输出。
这个就是用在模板里面方便点。
这个不是php语法么?是php的一种输出格式
楼上的回答太美妙了,赞一个
其实建议你用最标准的<?php ?>这样大家都能看懂,新手也不会有这个问题了
最好用标准格式
这样的方式是必须开PHP扩展才可以实现的,向下不一定会兼容
我的觉得yii2 对 <?= 进行了处理,并不像上面说的那样是php的语法,在输出widget时,将<?= 换成 <?php 试试?
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 的行为,但 filter 在 yii2 和 yii 中的实现不一样,yii2 中的 filter 是特殊的 behavior ,被框架多加了一层的处理,这里我只说明下 filter 的调用, 普通的 behavior 我暂时还没有用到,不清楚
一句话,QueryParamAuth 中 authenticator() 方法,是在 Controller 调用 beforeAction 时触发的,你可以在 Controller 复写 beforeAction 方法为空操作,看看还会不会调用。
在底层的 Controller 中,beforeAction 执行了 $this->trigger(self::EVENT_BEFORE_ACTION, $event) 触发了 EVENT_BEFORE_ACTION 事件,在 yii\base\Component 中 trigger 会首先 ensureBehaviors(),把 behaviors() 定义的行为附加到 Controller 上
}QueryParamAuth 最终继承自 ActionFilter 的,来看看 ActionFilter 在 attach 时会做什么
会在 Controller 上绑定一个 EVENT_BEFORE_ACTION 事件,行为是执行自己的 beforeFilter 方法
到这里,你看到了,ActionFilter 最终会执行自己的 beforeAction 方法,当然这可不是 Controller 中的 beforeAction 方法,还会处理些前置check,如 except 和 only 检测,这个 beforeAction 正是你写 filter 时需要复写的一个方法,至于 QueryParamAuth 的 authenticator() 方法,自己可以接着走代码
入口是 Controller 的 beforeAction 方法,可以自己走一遍源代码,就这些
大家好,请问,我有个字段“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?
我括号里面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了
我想在一个页面中使用ajax,但是jquery.js是在布局文件main.php的末尾引用的,导致ajax失效,其他jquery代码也是失效的。想到解决的办法有二。
第一:将jquery代码写到布局里面,显然不可取,因为这样会导致文件会有多于的jquery代码。
第二:将jquery.js由布局文件的末尾移到开头,但是问题来了,在布局文件main.php中我并没有看到引入jquery.js的源码,不知道在哪里
引入的,所以就没法移动。 求解?
解决办法,在配置文件web.php中的components里:
傻孩子,其实也可以定制一下jquery的,框架自带的jquery没有压缩的,比较大,可以把它在源码处改写,换成自己的jquery,这样能节省几十kb哦
由于像在A控制器中的__construct()做一些简单的验证,
然后B控制器才是访问的控制器调用parent::__construct()去做通用的验证,
但是会报错,报错如下
PHP Fatal Error – yii\base\ErrorException
Call to a member function getUniqueId() on a non-object
yii 框架需要自己创建 Controller 的实例,你任何时候都不需要覆盖人家的 构造函数,如果你需要覆盖的话,也需要和它的 方法签名 一样,并且调用 parent::__construct,99.999% 的情况下,你不需要这么做
你的问题是,在 controler 初始化的时候,做些验证,用 init() 方法就可以了