谁一开始就是大神?

PHP 第75页

PHP

AR查询的时候,where条件不为空怎么写[2.0]

FionaStone阅读(68)

官方的文档中有一个为空的例子:

// ...WHERE (`status` = 10) AND (`type` IS NULL) AND (`id` IN (4, 8, 15))
$query->where([
    'status' => 10,
    'type' => null,
    'id' => [4, 8, 15],
]);

那不为空的条件怎么写呢?

无法捕获sql连接异常[2.0]

Gracesuper阅读(70)

PHP Warning – yii\base\ErrorException

mysql_connect(): Access denied for user 'r'@'localhost' (using password: YES)
1. at line 29
20212223242526272829303132333435363738     * @inheritdoc
     */
 
    public function actionIndex()
    {	
 
        $model=new EntryForm();
    	if ($model->load(Yii::$app->request->post()) && $model->validate()) {
    		try{
    		$conn=mysql_connect('localhost',$model->user,$model->psw);
    		}catch(Exception $e){echo $e;}

当前命名空间下没有Exception, 需要指明命名空间..
改成这样 : ... catch(\Exception $e) ..., 加一个反斜杠在前面.
另外多嘴一句, mysql系列扩展函数不是早就不建议用了吗?
PDO 是个好选择 或者 mysqli 系列

namespaceuse作用域问题。[2.0]

Bravequeen阅读(76)

假如说:a.php,定义 namespace yii\a. b.php 里面定义namespace yii\b.我在b.php里面可以使用use yii\a吗?

如果可以的话,那use 的作用域有多广。

再比如说:在同一个服务器上有A站和B站两个网站,A站目录下有上面的a.php ,B站目录下有上面的b.php ,还可以在b.php里面使用use yii\a吗?

一, 第一个问题, 需不需要把文件导入进来?
答案是 : 需要!
但是在各种框架内, 你不会直观的感受到这一点, 因为都实现自动加载了.
早期__autoload 后来 又增强版spl_autoload
现代框架都是遵循composer自动载入标准完成
composer的自动加载标准又和namespace结合了起来, 这个后面补充.
二. 第二个问题, use的作用域是什么, 有多广?
比如 : 同一个服务器上有A站和B站,A站下A\a ,B站有B\b ,还可以在B\b.php里面use A\a吗?`
答案是 : 不知道怎么回答了 = =! 只能说和几个站毫无关系…
在当前请求周期内, 只要先加载到了A\a, 那么随后你都可以use A\a;
这和几个项目没关系, 和文件摆放位置没关系
!!! 只和 当前请求内, 你use的时候 有没有事先声明并include进来有关系;
如果非要说出作用域? 只能看每次请求的实际情况了…
三. 补充
在各种现代框架内(遵循了composer标准的)
一般 只要你use A\a; 就能自动加载进A\a (当然 你确实有声明);
并不用小心翼翼的担心 我use A\a时候, 有没有include进来呀
因为composer就是按照namespace来自动加载类的.
当然并不绝对(未遵循该标准的, composer也提供有自动加载方式)
具体的标准去查一下资料吧 这里就不说了 已经很啰嗦了
了解一下php的语法吧,”use的作用域”这个概念有点”新” :http://php.net/manual/zh/language.namespaces.php

nginx能作为php的生产服务器环境,还能作为哪些语言的?

Kimlove阅读(74)

nginx能作为php的生产服务器环境,还能作为哪些语言的?

只要能实现cgi就行.
所以 理论上讲, 任何一门图灵完备的语言都可以
nginx能作软负载或反向代理,所以理论上后端是什么语言都可以
还可以简单的防护DDOS,WAF防火墙……

[重金悬赏]求完整的windows下yii2安装步骤的教程[2.0]

SlyLion阅读(73)

为了总结经验,准备搜集好的教程,把他编成一本书,在这里:https://github.com/bubifengyun/book-yii2-dev-process

想想四库全书的编者,可能没有发表过一篇著名的文章,但是他们不辞辛苦,汇编中国的文化宝典。做出的贡献是有目共睹的。
为了收集好的素材,特花费本人在该网站的金钱,当然是虚拟的金钱,求稿。

分为几批次求稿。

每次求稿截止时间两周

为每一个优秀教程的提供者,奖励200金币

欢迎大家踊跃参加。

权威指南里的还不够清楚?
http://www.yiichina.com/doc/guide/2.0/start-installation
这是我做的笔记:
1、下载归档文件,并解压到web目录下; 下载地址:http://www.yiichina.com/download
2、将php目录添加到系统的path变量里;
3、运行 “init.bat” 命令,选择开发环境(Development:开发环境; Production:生产环境);
4、执行yii初始化命令 “yii.bat”;
5、新建数据库,并修改数据库配置 “\common\config\main-local.php”;
6、创建相应的数据表,执行命令 “yii.bat migrate”;
7、前台访问页面 http://localhost/advanced/frontend/web/;
对于作者的行为 强烈支持 并表示由衷的感谢。致敬
yii高清视频教程:Yii高清视频教程3个版本

算是死在这里了,yii2-redis,求解[2.0]

CandyStone阅读(76)

服务器上直接执行

redis-cli -h localhost -p 7380 

顺利进入

但是安装yii2-redis后配置信息如下

'redis' => [
    'class' => 'yii\redis\Connection',
    'hostname' => 'localhost',
    'port' => 7380,
    'database' => 0,
],

但是在程序中执行如下代码

Yii::$app->redis->hmset('user:1',['name'=>'joe','solary'=>2000]);

却如下错误:

Failed to open redis DB connection (localhost:7380, database=0): 111 - Connection refused

Error Info: Connection refused

实在是不知道为什么,我将 Yii::$app->redis 打印出来,也确实有这个对象.
注:用的高级模板

把 localhost 换成127.0.0.1 试试
这也行???
配置信息:
但是在程序中执行如下代码:
两种情况:

ajax请求没有返回[2.0]

youthKeo阅读(71)

我在view层使用angularjs的$http.post提交数据到服务器,服务器处理数据后把数据上传到一个叫个推的第三方服务器,在第三方处理完成后,再返回数据给view结果无法接收到数据,这个是什么原因导致的啊?求大神们解答

手动提交,确定你的第三方服务器有返回数据先。
angularjs的$http服务不太好用,传值的方式和ajax不一样。我用nodejs也是在req.body里面偶尔获取不到
php在获取值的时候要这么用$res = file_get_contents('php://input','r');

在github上看别人很多都把自己的模块写在vendor里,有什么好处吗?[2.0]

dmfans阅读(72)

在github上看别人很多都把自己的模块写在vendor里,有什么好处吗?

应该是作为公用模块放在vendor里,同时可能还会放到composer服务器上去,方便管理。
估计你是没体验过那种自己电脑上改完代码,轻松一点,所有服务器上的代码就跟着修改的感觉。
那是公用函数写在里面吧
vendor 放的都是框架核心代码 自己写的一般不会放到里面

gii生成的curd表格,怎么加入自义的列[2.0]

Bellapony阅读(81)

将所有列中的未设置改成自定义的字符,该怎么操作呢

方案一
yii\i18n\FormatternullDisplay 属性设置为你想要的.
这将会使得 所有依赖 yii\i18n\Formatter 的地方受到影响(仅值为null时)
方案二
如果不想扩大影响面, 在表格渲染时, 判断并修改之.
文档中自带使用说明

高级模板下前台如何调用后台的model[2.0]

acgelephant阅读(76)

因为前台有些操作需要用到model类,和后台操作一致,不想在前台再创建一次model,
有没有什么方法是直接可以调用后台model的。。。。

use 相应model 不行?

登录

找回密码

注册