如果我在main.php的LOG设置中,没有定义h1这个categories,以下语句能不能写入日志文件?
(使用方式:/usr/server/php/bin/php /var/test/yii/yii test/calculate-test >> /root/logs/week.log 2>&1)Yii::info('hello','h1');
`[
分类可以随便命名的
你把info级别的错误记录日志没。。。
如果我在main.php的LOG设置中,没有定义h1这个categories,以下语句能不能写入日志文件?
(使用方式:/usr/server/php/bin/php /var/test/yii/yii test/calculate-test >> /root/logs/week.log 2>&1)Yii::info('hello','h1');
`[
分类可以随便命名的
你把info级别的错误记录日志没。。。
$model = WxReply::findOne(['in','id',$ids]);
$model = WxReply::find()->where(['in','id',$ids])->One();
上面的代码查找不到,下面的才行,为什么?
$model = WxReply::findOne(1); findOne是查询1条记录。里面直接写id就可以。$model = WxReply::findOne(['id'=>$ids]);
这样呢?
http://admin.myblog.com/article/article/index 这是我的一个文章列表连接 明显多了一个 article 但是除掉又不行。。报未找到。 解析流程我想是 第一个 article是找到config配置文件 找到了类
article' => ['class' => 'app\modules\article\Module',],
然后根类找到$controllerNamespace
接下来自然而然的 就找到了 /article/index 这样完成了一个模块访问,
那么问题就来了。url不够简洁。求各位大神解惑。
config文件配置
'modules' => [
'article' => ['class' => 'app\modules\article\Module',],
],
这是module.php
<?php
namespace app\modules\article;
/**
* article module definition class
*/
class Module extends \yii\base\Module
{
/**
* @inheritdoc
*/
public $controllerNamespace = 'app\modules\article\controllers';
/**
* @inheritdoc
*/
public function init()
{
parent::init();
// custom initialization code goes here
}
}
它url出现这个article/article/index,中间这个是控制器名称,你把这个article控制器改成 index 也是个解决办法
这不算是有重,两个article的意义不一样,只是因为你把两个取了一样的名字。
个别路径要调整你可以指定别名,比如用art代替 article/article 。
如果量多,修改路由转发规则
没看太明白,不过我感觉你需要的是/article,url路由要/开头,不然的话是相对路由,如果你当前已经在article模块,就会再出一个article
模块入口
<?php
namespace app\modules\api;
use yii\base\Module;
use yii;
class ApiModule extends Module
{
public function init()
{
parent::init();
yii::$app->response->format = yii\web\Response::FORMAT_JSON;
yii::configure($this, require(__DIR__ . '/config/main.php'));
}
}
模块控制器
<?php
namespace app\modules\api\controllers;
use yii;
use yii\web\Controller;
class IndexController extends Controller
{
public function actionIndex()
{
return (array) yii::$app->params;
}
}
模块的配置
<?php
return [
'components' => [
],
'params' => [
'id' => 5
]
];
为什么 yii::configure 没有生效,yii::$app->params打印出来 是父级的值
先获取模块实例再访问模块配置!
模块的配置你用应用实例去获取当然获取不到
同问,我遇到了模块自定义配置不能生效的问题
因为前台有些操作需要用到model类,和后台操作一致,不想在前台再创建一次model,
有没有什么方法是直接可以调用后台model的。。。。
论坛上有回答说是use (use backend\models\article\Article)?这样不对的。。请解。谢谢。
不对是指什么意思?
你的Article类的namespace到底是“backend\models\article”还是“app\models\article”?你可能没有完全理解namespace的作用。。
楼主解决了吗?? 我现在也是跟你一样的问题
Unable to find ‘backend\models\Category’ in file: D:\phpStudy\WWW\yii2/backend/models/Category.php. Namespace missing?
ActiveForm 和 beginForm 有什么区别?
区别都体现在字面意思上了。
ActiveForm,默认包含了完整的form标签。
beginForm,只是form标签的开始部分
PHP Fatal Error – yii\base\ErrorException
Call to undefined method common\models\User::findIdentity()
在执行项目之后:SiteController -> render( index )
执行layout main 文件,调用 Yii::$app->user->isGuest;
报错是: 调用未知的方法 -》 common\models\User::findIdentity() ;
what ?
common\models\User 看看有沒有 findIdentity() 先
某個地方有調用到 common\models\User :: findIdentity()
你在錯誤內容下面看一下. 是哪裡執行的
使用驼峰命名控制器和方法,如何在url使用
控制器名字ConNameController.php
public function actionActionName() {
echo 'hello world';
}
怎么设置才能是路由是 /conname/actionname
这个事情很难做,你可以查看源码Module.php 560行,其内容如下:
可以看到’-‘是直接写在里面的,除非你要修改源码,或者将相关的内容都覆盖掉(如继承Application,重写相应的方法,但不排除会造成其他bug)
注:这里只列出了controller名字解析的地方
https://github.com/yiisoft/yii2/blob/master/framework/base/Module.php#L560
。。。你这个问题问的太不详细了
控制器名字ConnameController.php,action名actionActionname
con-name ?
醉了醉了醉了…
actionActionname ?
/**
* This is the model class for table "user".
*
* @property integer $id
* @property string $username
* @property string $mobile
* @property string $auth_key
* @property string $password_hash
* @property string $password_reset_token
* @property string $email
* @property integer $status
* @property integer $role
* @property string $created_at
* @property string $updated_at
* @property string $sex
*/
class User extends \yii\db\ActiveRecord implements IdentityInterface
{
这是符合phpdoc的注释格式,有很多工具可以解析这类注释并且直接生成文档,例如phpDocumentor, doxygen等等。IDE例如eclipse的PDT,InteliJ的IDEA和PHPStorm也能解析这种注释格式,并且根据注释来辅助生成代码提示
如果你使用gii生成代码,比如你用gii生成model,它默认就有这个注释
发个问题真蛋疼,关闭了又不能删除,写了整整一篇忘记点发布就关了,又得重新写。事情是这样的:我的老大叫我在网站里实现qq第三方登录的功能,用腾讯官方给的SDK,很容易就实现了(这也证明我的流程是没有错的),但是因为项目框架的用yii2,所以,没办法,就上网找咯,Github上官方写的第三方登录扩展是针对facebook、github等外国平台的,在天朝也是没什么luan用的,所以就继续找。
找到两位仁兄写的东西,Yii2中的OAuth扩展及QQ互联登录,QQ等第三方登录,后者其实就是模仿前者写的,他自己也作了说明,只是他把QqOAuth这个类放在了不同的地方引用而已,然而并没有什么luan用,因为原作者写的东西本来就有错,连他自己网站的QQ登录也出现那个回调地址有问题的问题,他的QQ登录,发这篇东西原因,是不想你们走我的老路,恳请大神们帮我下,用他们两人写的教程为啥出错?还有我看到本站其实有Qq登录的功能,我想问站长巡洋艦大哥,使用官方SDk,还是自己写好的yii版本呢?能不能分享下怎么实现那个功能?![]()
这里是我的QQ登录的实现 https://github.com/yiichina/yiicms/blob/master/frontend/widgets/QQClient.php
mark,需要时再研究
Mark一下,肯定会要用到的。。
Mark一下,肯定会要用到的
你的问题解决了吗?QQ提示100010,回调错误。我也遇到了这个问题
我现在就纠结这个问题,qq互联回调不让写问号,这b框架自己非要有。网上查很多,但是全 拷贝粘贴的。一个符号不带差的。楼主解决了分享下啊
已集成 第三方登录