PHPStorm全局搜索
shift +cmd +f
全局的css
https://www.niwoxuexi.com/blog/php/article/166.html
- 全局修改
assets/AppAsset.php
- 某个文件中引入
//引用css文件,注意自己的文件路径
<?php $this->registerCssFile('css/test.css');?>
//引用js文件,注意自己的文件路径<span class="redactor-invisible-space"></span>
<?php $this->registerJsFile('js/test.js');?>
默认控制器
config/web.php
,修改defaultRoute
字段对应响应的控制器即可。
$config = [
'id' => 'basic',
'defaultRoute' => 'default',
...
默认将定位到DefaultController->ActionIndex
yii2中获取controller的方法
<?php
echo Yii::$app->controller->id;
?>
Nav Bar active状态
'items' => [
['label' => '首页', 'url' => ['/index/index']],
[ 'label' => '工具',
'url' => ['/tools/index'],
'active' => in_array(\Yii::$app->controller->id, ['tools'])
],
对应到controller Id
修改title
$this->getView()->title = "about";
伪静态
config/web.php
$config 下面 components 添加 如下代码
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'suffix' => '.html',
'rules' => [
'<controller:\w+>' => '<controller>/index',
'<controller:\w+>' => '<controller>/index',
]
],
然后再新建一个.htaccess 文件放置web目录
该文件代码如下:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
URL跳转
方式1:
use yii\helpers\url;
$co = URL::toRoute('site/index');
方式2:
Yii::$app-> urlManager->crateUrl('xx/xxx');
注意点
- 使用gii要格外注意大小写。否则界面可能会404
Yii2禁用默认引入的jquery
jquery放到头部
js位置
POS_HEAD——head结束标签之前:$this->registerJs('alert(4)',View::POS_HEAD);
POS_BEGIN——body开始标签之后:$this->registerJs('alert(4)',View::POS_BEGIN);
POS_END——body结束标签之前:$this->registerJs('alert(4)',View::POS_END);
POS_READY POS_LOAD:$this->registerJs('alert(4)', View::POS_READY);
//depends保证加载JS文件的先后顺序、asset bundles资源包
//此时先加载yii\web\YiiAsset,再加载assets/e05e437e/yii.js
或\yii\web\View::POS_END
s的放置位置默认在html结尾,可以在AppAsset中设置:
<?php $this->registerJsFile(yii\helpers\Url::base().'/js/jquery.numberedtextarea.js', ['depends' => ['app\assets\AppAsset'],'position' => $this::POS_HEAD]); ?>
<?php
路径
Yii::$app->request->baseUrl. '/supermarkets/sample'
Yii::$app->urlManager->createUrl('tools/json2objc');
ajax请求
$('.objc').click(function() {
$.ajax({
type: "POST",
url: "<?php echo \Yii::$app->urlManager->createUrl('tools/json2objc');?>",
data:{'json':current_json_str} ,
success: function(html){
console.log(html);
}
})
});
控制器:
return $this->render('index',[
'posts' => $content,
'pagination' => $pagination
]
);
视图:
<?php
foreach($posts as $key=>$val){
echo var_dump($val);
echo '</br>';
}
?>
<?= LinkPager::widget(['pagination' => $pagination]); ?>
手动配置第三方库(不使用composer)
- 将第三方包放到
vendor
目录下
require(__DIR__ . '/../vendor/yj/bmob/BmobObject.class.php');
//使用
$bmobObj = new \BmobObject("GameScore");
$res=$bmobObj->create(array("score"=>80,"playerName"=>"game")); //添加对象
$res=$bmobObj->get("bd89c6bce9"); // 获取id为bd89c6bce9的对象
$res=$bmobObj->get(); //获取所有对象
print_r($res);
推荐使用 require_once
stdClass Object转array的方法
参考:PHP中把stdClass Object转array的几个方法
$array = json_decode(json_encode($res),TRUE);