Skip to content

Instantly share code, notes, and snippets.

View reaferon's full-sized avatar

reaferon

  • St.Petersbourg, Russia
View GitHub Profile
@reaferon
reaferon / axqfy.php
Created May 28, 2019 20:00
Update or Insert #php #yii
<?php
Yii::$app->db->createCommand()->upsert('pages', [
'name' => 'Front page',
'url' => 'http://example.com/', // URL уникален
'visits' => 0,
], [
'visits' => new \yii\db\Expression('visits + 1'),
], $params)->execute();
@reaferon
reaferon / zuibk.php
Last active May 28, 2019 19:58
Как вызвать метод из другого namespace в Yii2? #php #yii
<?php
// В namespace app\modules\admin\models;
// надо вызвать метод модели из namespace app\models;
$var = new \app\models\className();
$var->methodName();
@reaferon
reaferon / map.js
Last active May 28, 2019 19:55
Yandex map with baloons #js #html
ymaps.ready(init);
function init() {
var myMap = new ymaps.Map("map", {
center: [55.76, 37.64],
zoom: 10
}),
// Создаем геообъект с типом геометрии "Точка".
myGeoObject = new ymaps.GeoObject({
@reaferon
reaferon / Тестирование.md
Last active May 28, 2019 20:13 — forked from codedokode/Тестирование.md
Автоматизированное тестирование #manual

Автоматизированное тестирование

Если ты пишешь код, то наверняка его тестируешь. Если речь о какой-то функции, то ты можешь вызывать ее с разными аргументами, и смотреть, что она вернет. Если ты сверстал сайт, то ты открываешь его в браузере, жмешь ссылки и кнопки, проверяешь что все сделано верно. Это называется ручное тестирование — человек проверяет работу программы. Нельзя ли эту задачу переложить на плечи роботов? Обычно можно, и это называется автоматизированное тестирование.

Тестирование позволяет сделать твой код надежнее, а твою жизнь проще. Ведь согласись, лучше когда ты сам обнаруживаешь и исправляешь ошибку до релиза, чем когда рассерженный заказчик звонит на выходных и требует срочно исправить неработающий функционал.

Тестирование особенно полезно при разработке больших приложений в большой команде, когда ты можешь нечаянно сломать какую-то функцию, которую делал другой человек, и о которой ты не знал. Или когда надо доработать написанный ранее сложный проект.

В больших компаниях может быт

@reaferon
reaferon / between.php
Last active May 28, 2019 19:02
[Как в Yii2 задавать условие от и до] #php #yii
<?php
where(['between','price', 40, 50])
$query->andFilterWhere(['between','date','2015-08-01', '2015-11-22']);
?>
@reaferon
reaferon / sql_echo.php
Last active May 28, 2019 19:09
[Вывести SQL-запрос] #php #yii
<?php
$dealers = (new \yii\db\Query())
->select([
'a_lau_city.id AS lau_id',
'a_lau_city.courier AS lau_courier',
'a_lau_city.office AS lau_office'
])
->from(['a_lau_city','a_yii_cities'])
->where('a_lau_city.id = a_yii_cities.old_id')
->andWhere(['or', 'a_lau_city.courier=1','a_lau_city.office=1'])
@reaferon
reaferon / where.php
Last active May 28, 2019 19:04
[Where] #php #yii
<?php
$query = new Query;
$query->select('ID, City,State,StudentName')
->from('student')
->where(['IsActive' => 1])
->andWhere(['not', ['City' => null]])
->andWhere(['not', ['State' => null]])
->orderBy(['rand()' => SORT_DESC])
->limit(10);
?>
@reaferon
reaferon / order.php
Last active May 28, 2019 19:05
[OrderBy Field] #php #yii
<?php
$recipes = Model::find()
->where(['in', 'id', $id])
->orderBy([\yii\db\Expression('FIELD (id, 1,2,3')])
->all();
?>
@reaferon
reaferon / nums.php
Last active May 28, 2019 19:06
[множественные числа] #php #yii
<?php
$message = 'В корзине {n,plural,=0{нет товаров}=1{есть один товар} one {# товар few {# товара} many {# товаров} other {# товара}}';
echo Yii:t('app',$message, ['n' => 42]);
?>
@reaferon
reaferon / console.php
Last active May 28, 2019 19:23
[Консоль: сериализация ошибок] #php #yii
<?php
if (!$model->validate()) {
echo "Model is not valid:\n";
echo \yii\helpers\Console::errorSummary($model);
return ExitCode::DATAERR;
}