分类 php开发框架 下的文章

1.问题描述:
yii2中使用querylist的百度搜索插件,出现php报错curl_setopt_array(): Unable to create temporary file,

2.使用echo sys_get_temp_dir();获得系统临时文件位置:C:windows\

3.修改php.ini
打开本地的php 下的 php.ini 文件 ,找到 sys_temp_dir='./tmp' 的配置项,将前面的分号 ; 注释去掉
改为 E:phpStudytmptmp;重启phpstudy,问题解决了!

Yii2是一款非常优秀的php开发框架,足够出色,学习曲线并不是很高,适合高效率开发需求。本文仅以安装配置yii2高级版为例,记录说明使用composer安装配置yii2。
一、composer方式安装
php版本>=5.4
1.安装composer
下载Composer并安装.--环境变量设置
如果composer安装成功:
执行composer self-update命令更新Composer为最新版本,
然后进入你要安装yii的有效web目录(www目录下)

2.composer安装yii

基础版
composer create-project --prefer-dist yiisoft/yii2-app-basic yii
高级版
composer create-project --prefer-dist yiisoft/yii2-app-advanced yii
注: yii是在www下新建yii目录,可根据需要自定
关联点 :输入github账户的Token
登录github.com ---settings---Personal access tokens---

3.进入当前安装目录,初始化 执行 init

4.配置数据库 common/config/main-local.php
执行 yii migrate
创建user、migration表

5.url和汉化
去掉index.php
形式: web/controller/action/params
.htaccess
Options +FollowSymLinks
IndexIgnore /
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

otherwise forward it to index.php

RewriteRule . index.php
注:
上述htaccess要存放在frontend和backend的web下各一份,否则访问前台时候会跳到后台模块(根目录配置htaccess rewriterule. backend/web/index.php的情况下)
(这是为了隐藏 Index.php,apache必须要开启rewrite模块)

下面的urlManager配置在common/main.php

'components'=>[]中添加
'urlManager'=>[

        'enablePrettyUrl'=> true,
        'enableStrictParsing'=> false,//严格解析,要求当前请求至少匹配一个路由规则,否则判定为无效路由
        'showScriptName'=>false,//是否显示入口文件
        'suffix'=>'',//后缀自定义如.html
        'rules'=>[
            "<controller:\w+>/<id:\d+>"=>"<controller>/view",
            "<controller:\w+>/<action:\w+>/<id:\d+>"=>"<controller>/<action>",
            "<controller:\w+>/<action:\w+>"=>"<controller>/<action>"       
        ]
    ],

配置
'language'=>'zh-CN',
//'sourceLanguage'=>'zh-CN',
sourceLanguage 代表你的数据源语言标记
language 表示当前语言标记

6.admin、adminLTE
http://www.yiichina.com/tutorial/876
其中adminLTE生成权限数据表4张
cmd 到安装目录
安装adminLTE
composer require dmstr/yii2-adminlte-asset "2.*"
复制 vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app 到 backend/views/,需要覆盖的则覆盖
注:可理解为adminLTE只是模板

安装admin
项目目录下执行
composer require mdmsoft/yii2-admin "2.x-dev"

配置 backend/config/main.php 文件
"modules" => [

"admin" => [
    "class" => "mdm\admin\Module",
],

],
"aliases" => [

"@mdm/admin" => "@vendor/mdmsoft/yii2-admin",

],
'as access' => [

'class' => 'mdm\admin\components\AccessControl',
'allowActions' => [
    //这里是允许访问的action
    //controller/action
// * 表示允许所有,后期会介绍这个
    '*'
]

],
'components' => [

"authManager" => [
    "class" => 'yii\rbac\DbManager',
    "defaultRoles" => ["guest"],
],

],

7、导入 rbac 表格
执行.sql 文件:vendor/yiisoft/yii2/rbac/migrations/schema-mysql.sql/ ?
cmd如何执行?
console配置组件中添加
'authManager'=>[

        'class'=>'yii\rbac\DbManager',
        'itemTable'=>'{{%auth_item}}',
        'itemChildTable'=>'{{%auth_item_child}}',
        'assignmentTable'=>'{{%auth_assignment}}',
        'ruleTable'=>'{{%auth_rule}}',
        'defaultRoles'=>['default'],
    ],

php yii migrate --migrationPath=@yii/rbac/migrations
生成四张表如下:

8、
前台注册用户
运行 127.0.0.1/advanced/backend/web/admin/route 预览效果

9、关于gii
MVC功能模块开发
数据库字典设计,sql语句,生成tables
gii生成
model、controller、view基础模板
修改MVC细节优化

模型、控制器方法添加
对应views修改

其他:
安装时间控件
composer require kartik-v/yii2-widget-datetimepicker "*"(优先)

composer require kartik-v/yii2-widget-timepicker "*"

补充:
地区选择插件
composer require chenkby/yii2-region "dev-master"

'options' => ['class' => 'form-horizontal'],

  'fieldConfig' => [
      'template' => "<div class='col-xs-3 col-sm-2 text-right'>{label}</div><div class='col-xs-9 col-sm-7'>{input}</div><div class='col-xs-12 col-xs-offset-3 col-sm-3 col-sm-offset-0'>{error}</div>",

Echarts插件
composer require --prefer-dist daixianceng/yii2-echarts "*"
composer require daixianceng/yii2-echarts "*"
--prefer-dist 为了强制使用压缩包,而不是克隆源代码。
composer require bower-asset/echarts "*"

ueditor
composer require kucha/ueditor "*"

至此,yii2高级版安装和初始设置完毕,开始你的yii2高效开发旅程!