Ⅰ php中使用YII框架的问题
因为你Users Model的对应的表明没改,在这个Users模型类里,有这样的方法:
public static function tableName()
{
return '{{%users1}}'; // users1是你的新表名
}
而且直接执行Sql查询,好像不是这样用的吧?
我一般都是这样的
Yii::$app->getDb()->createCommand($sql)->queryAll()
Yii::$app->getDb()->createCommand($sql)->queryOne()
Yii::$app->getDb()->createCommand($sql)->excute()
....
区别你可以看看源代码的说明。(Yii2上的用法,yii1.x应该差不多,你稍微改改就应该没问题)
Ⅱ php yii2框架 模型层放在的是哪一个文件夹
model model model
Ⅲ php yii框架怎么设置字体编码格式
今天在开发的时候需要将excel文件中数据导入到相关的配置文件中,我按照过去经常使用的方法,先将excel导出成csv文件,然后使用fgetcsv函数读取文件的内容,通过Yii框架中的CConfigure类导出成配置文件,然后在检查的时候发现导出的数组中有些值中间有一些多余的反斜杠,这些反斜杠一般出现在繁体中文或者日文的文字中。
一开始我先检查了csv和excel文件中的字段,发现并没有什么问题,之后我查看了CConfigure类中的saveAsString函数,发现他使用了php中的var_export函数来实现导入配置文件的功能,然后,我又使用var_export输出会出现问题的某个字段,发现确实在字符串中添加了反斜杠,而我直接使用echo或者var_mp输出时,则没有这个情况发生,这个时候我明白问题是出在var_export这个函数上。
在查阅了相关的资料后我发现var_export这个函数会自动转义,也许是这个原因导致了字符串中自动添加了反斜杠,可是字符串本身并没有特殊字符,为什么var_export还是会添加反斜杠,这个让我百思不得其解,我查看了出现问题的字符串的2进制编码,发现出现反斜杠的地方本身的单个字符的ascii码也是反斜杠,也就是说可能是var_export在转义时针对单个反斜杠字符进行了转义?这个原因我最后也没有搞明白。
不过在我不知道如何解决这个问题的时候,我突然想到我的csv的文字编码是gbk的,因为是通过excel直接转的格式,然后我导出的文件编码是utf-8的格式,同时我的代码本身也是utf-8的格式,虽然我最后通过格式转换,成功把gbk的字符串转换成utf-8导出,但是在转换的过程中可能会出现问题(当时想的是这样,不过之后考虑了一下,因为之前在gbk格式下使用var_export已经出现了问题,因此应该不是转换过程中的问题,应该是var_export处理gbk格式的汉字字符串时产生的bug?),于是我将csv文件全部转换成utf-8格式,重新导入文件,成功解决。
其实在解决的过程中,很早就想到可能是编码的问题,但是一直没有发现excel转换的csv文件的格式问题,因为之前导出的配置文件没有汉字,因此没有出现过这一类的问题,于是就忽略了,不过最后虽然解决了问题,但是问题本身的原因还是不明,推测极有可能是因为gbk编码和var_export的兼容导致的问题,果然开发中应该还是尽量使用utf-8统一编码,应该会减少很多不明的错误。
2013.1.19更新:经过思考,觉得应该是对于gbk编码的字符串使用var_export时,函数对于单个字符表示为反斜杠的字符添加了反斜杠的转义,因此使得该处的字符变为两个反斜杠,同时因为在显示时使用了gbk编码,导致添加的反斜杠作为前一个汉字字符的一部分被显示,而原来的反斜杠字符则单独显示了出来。
Ⅳ 如何使用PHP的Yii框架中的缓存功能
这个应用可以使用JavaConfig完成配置。我把它切分为下面几个部分:
ServicesConfig(服务配置)
无需扫描组件,配置真的非常简单:
@Configuration
public class ServicesConfig {
@Autowired
private AccountRepository accountRepository;
@Bean
public UserService userService() {
return new UserService(accountRepository);
}
Ⅳ php中使用yii框架技术如何将mysql数据库中的内容读出来并显示在页面上(越详细越好)
$datas=Article::model()->findAll();
这个就是获取数据的样子了
article是model的名称,
foreach($datas as $data){
echo $data->id;
echo "<br/>";
echo $data->name;
echo $data->xx;
}
Ⅵ php yii框架操作redis问题。可以获取到redis对象信息,但是set总是报错。
从错误提示来看,是权限问题。检查一下redis连接配置,有没有设置密码等,然后自己本地先连接一下redis看看能不能连接,如果能正常连接,再使用同样的配置,用Yii来连接。
Ⅶ 关于phpYII框架的规范写法疑问
通常情况下MVC也是是非常苛刻的非得一定怎么样,如果你的业务逻辑只有两三句代码,且就只在这个地方使用的话,完全可以写在action里面。
通常情况下,我们会将业务逻辑进行封装,比如封装到某个类里面,当你需要的时候,你可以调用这个类来进行业务逻辑处理。根据业务逻辑的不同,可能最终处理的方式不一样,比如,比较通用点的,和具体的数据没有关系的,你可以封装为component(放到components目录下),如果和具体的数据有关系,你也可以封装一些基本的类,放到model目录下(这个目录下的内容会自动加载),然后使用就可以了。当然,你也可以写成extension之类的。
处理方式有很多,当你经验多起来的时候你自然就知道怎么做了。
Ⅷ php Yii 框架问题!
yii的component组件有点像对php一些功能的扩充。
在yii应用app启动时载入。并发生作用。
比如像对http请求的处理组件,缓存组件,授权组件,数据库组件,会话组件。
网址处理组件。
这幅图可以说明,组件在框架中的作为。
Ⅸ PHP中的Yii框架的 assets文件夹怎么老会新建文件
assets是对外公开的一个文件夹,在框架里使用到的JS,CSS文件都会自动的生成在assets里边去,而assets里边像MD5过的文件名是为了防止重复
Ⅹ php中yii框架问题
导入componets