Сообщения

Избранное сообщение

PhpStorm (JetBrains) linux install

скачанный архив переместить из загрузки, т.к. там нельзя запускать екзешники.
в папке выполнить


sudo tar xfz PhpStorm-*.tar.gz -C /opt/

затем

cd /opt/PhpStorm../bin
здесь
chmod +x phpstorm.sh
./phpstorm.sh

Оптимизация запросов yii2

Изображение
проект https://gitlab.com/des1roer/yii2pet

пусть view views/pers/index.php


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31<?= GridView::widget([ 'dataProvider'=>$dataProvider, 'columns'=> [ 'name', 'lvl', 'money', [ 'attribute'=>'race_id', 'format'=>'raw', 'label'=>'раса', 'filter'=>$races, 'value'=>'race.name' ], [ 'label'=>'Изображение', 'format'=>'html', 'value'=>function ($data) { return Html::img($data->race->img, ['width'=>'100']); }, ], [ &#…

Авторизация через Гугл аккаунт

https://console.developers.google.com/apis/credentials

----------------
<script async defer src="https://apis.google.com/js/api.js"      onload="this.onload=function(){};handleClientLoad()"      onreadystatechange="if (this.readyState === 'complete') this.onload()"></script>?>
----------- // Enter an API key from the Google API Console:// https://console.developers.google.com/apis/credentialsvar apiKey ='**********';// Enter the API Discovery Docs that describes the APIs you want to// access. In this example, we are accessing the People API, so we load// Discovery Doc found here: https://developers.google.com/people/api/rest/var discoveryDocs =["https://people.googleapis.com/$discovery/rest?version=v1"];// Enter a client ID for a web application from the Google API Console:// https://console.developers.google.com/apis/credentials?project=_// In your API Console project, add a JavaScript origin that corresponds//…

Yii2 апгрейдим функции

просто установим

composer require illuminate/support

и можно использовать https://laravel.com/docs/5.5/helpers#introduction

Обновить sublime_text в Ubuntu

Скачиваем последнюю версию https://www.sublimetext.com/3
Распаковываем
Выполняем sudo cp -rf sublime_text_3/. /opt/sublime_text


https://askubuntu.com/questions/828226/how-to-update-sublime-text-3-in-ubuntu-16-04/829022

Кастомный дампер для Yii2

Изображение
/** * Debug function * d($var); * @param $var * @param null $caller */ function d($var,$caller=null) { if(!isset($caller)){ $tmp_var=debug_backtrace(1); $caller=array_shift($tmp_var); } header('Content-Type: text/html; charset=utf-8'); echo'<code>File: '.$caller['file'].' / Line: '.$caller['line'].'</code>'; echo'<pre>'; VarDumper::dump($var, 10, true); echo'</pre>'; } /** * Debug function with die() after * dd($var); * @param $var */ function dd2($var) { $tmp_var=debug_backtrace(1); $caller=array_shift($tmp_var); $this->d($var,$caller); die(); } https://github.com/samdark/yii2-cookbook/blob/master/book/structure-global-functions.md

для phpstorm



\yii\helpers\VarDumper::dump( $END$ , 10, true);die();

Yii2 custom action Rest Api

Свой экшен в АПИ


--------
<?php namespace app\modules\api\modules\v1\controllers; use app\models\Unit; use yii\data\ActiveDataProvider; /** * Class UnitController * @link http://yii2game/api/unit */ class UnitController extends RestController { public $modelClass = Unit::class; public function actionCustom(?int $id = null): ActiveDataProvider { $query = Unit::find(); if ($id) { $query->andWhere(['id'=> $id]); } returnnew ActiveDataProvider([ 'query'=> $query, ]); } } --------

по пути http://yii2game/api/unit/custom/?id=44

все работает https://gitlab.com/des1roer/yii2game
 https://drive.google.com/drive/folders/0B8SBzylZ-emOflNtV3lURWtTQnBpTE5YS1hvNFBvS1lWT3oyTjZJbk4yNzNSWkZqNVdHNmM