Skip to content

Instantly share code, notes, and snippets.

View onegits's full-sized avatar

onegits

  • Kazakhstan
View GitHub Profile
@onegits
onegits / strip-value.scss
Created December 22, 2018 23:20
SCSS - Функция убирающая размерность величины
@functions strip-value($value) {
@return $value / (($value*0) + 1);
}
Применение:
h1 {
padding: strip-value(10px)*1em;
}
@onegits
onegits / mapTree.php
Last active November 27, 2018 10:57
Преобразование массива в дерево (php 5.4)
<?php
/***************************************Пример кода 1***********************************************
*
* Получение массива категорий
**/
function get_cat(){
global $connection;
$query = "SELECT * FROM categories";
$res = mysqli_query($connection, $query);
@onegits
onegits / fillingAttributes.php
Created November 23, 2018 12:09
Yii2 - массовое заполнение атрибутов (свойств) модели
<?php
function saveAttributes() {
...
$user = new User();
$user -> attributes = this -> attributes; //this - это модель и код находится также в файле модели
...
}
@onegits
onegits / lines, words, and characters lines_words_and_characters_count (vue_book).js
Last active June 16, 2018 23:20
JS - Функции подсчета количества строк, слов и символов в тексте
linesCount () {
if (this.selectedNote) {
// Count the number of new line characters
return this.selectedNote.content.split(/\r\n|\r|\n/).length
}
},
wordsCount () {
if (this.selectedNote) {
var s = this.selectedNote.content
@onegits
onegits / DataTransferObject(DTO).php
Last active June 2, 2018 23:14
Yii2 - Инициирование событий и передача в него данных (Data Transfer Object (DTO))
<?php
Инициирование событий и передача в него данных (из документации)
Иногда при инициировании события может понадобиться передать его обработчику дополнительную информацию. Например, объекту, отвечающему за почту, может понадобиться передать обработчику события messageSent определенные данные, раскрывающие смысл отправленных почтовых сообщений. Для этого в качестве второго параметра методу yii\base\Component::trigger() передается объект события. Объект события должен быть экземпляром класса yii\base\Event или его потомка. Например:
===================================================================================================================
namespace app\components;
use yii\base\Component;
@onegits
onegits / Events.php
Created June 2, 2018 20:44
Yii2 - Присоединение обработчиков событий в конструкторе модели
public function __construct(User $user)
{
$this->user = $user;
$this->on(self::EVENT_AFTER_VALIDATE, [$this, 'resizePicture']);
$this->on(self::EVENT_POST_CREATED, [Yii::$app->feedService, 'addToFeeds']);
}
/**
* Resize image if needed
*/
@onegits
onegits / currentUser.php
Created June 1, 2018 21:26
Yii2 - Получение текущего авторизированого пользователя
use Yii;
public function actionView()
{
/* @var $currentUser User */
$currentUser = Yii::$app->user->identity;
}
@onegits
onegits / Asset.php
Created June 1, 2018 21:09
Yii2 - Подключение скриптов js и css
============================================================================================
Подключчение скрипта в представлении (вмде) с указанием зависимости
<?php $this->registerJsFile('@web/js/likes.js', [
'depends' => JqueryAsset::className(),
]);
============================================================================================
Для подключения одного скрипта js или css на конкретной странице, прописываем следующий код:
@onegits
onegits / AuthHandler.php
Created May 30, 2018 11:40
Альтернативная реализация компонента для Yii2 oAuth (frontend/components/AuthHandler.php) - не полный аналог по функциональности
<?php
namespace app\components;
use Yii;
use frontend\models\Auth;
use frontend\models\User;
use yii\authclient\ClientInterface;
use yii\helpers\ArrayHelper;
@onegits
onegits / csrfToken.php
Created May 29, 2018 14:52
Yii2 - Скрытое поле формы добавляющая проверку токена для защиты от csrf атак
<input id="form-token" type="hidden" name"?=Yii::$app->request->csrfParam?>" value"?=Yii::$app->request->csrfToken?>"/>