Чтобы вставить элемент после какого-то элемента, нужно создать прототип.
Element.prototype.appendAfter = function (element) { element.parentNode.insertBefore(this, element.nextSibling);
};
footer.appendAfter(modal.querySelector('[data-content]'));
document.body.appendChild(modal);
Code
понедельник, 17 августа 2020 г.
среда, 25 декабря 2019 г.
пятница, 13 декабря 2019 г.
Symfony controller && buttons
/**
*@Route("/{id}", name="users.show")
*@param User $user
*@return Response
*/
public function show(User $user): Response
{
return $this->render('app/users/show.html.twig', compact('user'));
}
--------------------------------------------------
<div class="controls">
<a href="{{ path('users.edit', {'id': user.id}) }}" class="btn btn-primary">Edit</a>
{% if user.id.value != app.user.id %}
<a href="{{ path('users.role', {'id': user.id}) }}" class="btn btn-primary">Change Role</a>
{% endif %}
{% if user.wait %}
<form action="{{ path('users.confirm', {'id': user.id}) }}" method="post" onsubmit="return confirm('Are you sure?')">
<input type="hidden" name="token" value="{{ csrf_token('confirm') }}" />
<button type="submit" class="btn btn-success">Confirm</button>
</form>
{% endif %}
{% if user.active and user.id.value != app.user.id %}
<form action="{{ path('users.block', {'id': user.id}) }}" method="post" onsubmit="return confirm('Are you sure?')">
<input type="hidden" name="token" value="{{ csrf_token('block') }}" />
<button type="submit" class="btn btn-danger">Block</button>
</form>
{% endif %}
{% if user.blocked %}
<form action="{{ path('users.activate', {'id': user.id}) }}" method="post" onsubmit="return confirm('Are you sure?')">
<input type="hidden" name="token" value="{{ csrf_token('activate') }}" />
<button type="submit" class="btn btn-success">Activate</button>
</form>
{% endif %}
</div>
*@Route("/{id}", name="users.show")
*@param User $user
*@return Response
*/
public function show(User $user): Response
{
return $this->render('app/users/show.html.twig', compact('user'));
}
--------------------------------------------------
<div class="controls">
<a href="{{ path('users.edit', {'id': user.id}) }}" class="btn btn-primary">Edit</a>
{% if user.id.value != app.user.id %}
<a href="{{ path('users.role', {'id': user.id}) }}" class="btn btn-primary">Change Role</a>
{% endif %}
{% if user.wait %}
<form action="{{ path('users.confirm', {'id': user.id}) }}" method="post" onsubmit="return confirm('Are you sure?')">
<input type="hidden" name="token" value="{{ csrf_token('confirm') }}" />
<button type="submit" class="btn btn-success">Confirm</button>
</form>
{% endif %}
{% if user.active and user.id.value != app.user.id %}
<form action="{{ path('users.block', {'id': user.id}) }}" method="post" onsubmit="return confirm('Are you sure?')">
<input type="hidden" name="token" value="{{ csrf_token('block') }}" />
<button type="submit" class="btn btn-danger">Block</button>
</form>
{% endif %}
{% if user.blocked %}
<form action="{{ path('users.activate', {'id': user.id}) }}" method="post" onsubmit="return confirm('Are you sure?')">
<input type="hidden" name="token" value="{{ csrf_token('activate') }}" />
<button type="submit" class="btn btn-success">Activate</button>
</form>
{% endif %}
</div>
четверг, 14 ноября 2019 г.
key bind lubuntu
<keybind key="W-S-Down">
<action name="DirectionalCycleWindows">
<direction>down</direction>
</action>
</keybind>
<keybind key="Scroll_Lock">
<action name="Execute">
<command>galculator</command>
</action>
</keybind>
<keybind key="C-Pause">
<action name="Execute">
<command>google-chrome</command>
</action>
</keybind>
<keybind key="C-Scroll_Lock">
<action name="Execute">
<command>/home/pro/PhpStorm/PhpStorm-183.6156.29/bin/phpstorm.sh</command>
</action>
</keybind>
nano ~/.config/openbox/lubuntu-rc.xml
<action name="DirectionalCycleWindows">
<direction>down</direction>
</action>
</keybind>
<keybind key="Scroll_Lock">
<action name="Execute">
<command>galculator</command>
</action>
</keybind>
<keybind key="C-Pause">
<action name="Execute">
<command>google-chrome</command>
</action>
</keybind>
<keybind key="C-Scroll_Lock">
<action name="Execute">
<command>/home/pro/PhpStorm/PhpStorm-183.6156.29/bin/phpstorm.sh</command>
</action>
</keybind>
nano ~/.config/openbox/lubuntu-rc.xml
четверг, 31 октября 2019 г.
среда, 23 октября 2019 г.
Docker
command:
docker-compose up -- build -d (перебилдить контейнеры)
docker-compose exec api-php-cli composer install (запуск по ключи из образа 'docker-compose.yml')
docker-compose down -v (удалить все образы)
------контроль старых и опасных пакетов--------
"require-dev": {
"roave/security-advisories": "dev-master"
}
-------------установка от юзера----------------
sudo chown $USER:$USER . -R
------------запуск тестов----------------------
docker-compose exec api-php-cli vendor/bin/phpunit
docker-compose exec api-php-cli composer test
-----------объект время------------------------ new \DateTimeImmutable()
-----------исключения--------------------------
public function getByEmail(Email $email): User
{
if (!$user = $this->repo->findOneBy(['email' => $email->getEmail()])) {
throw new EntityNotFoundException('User is not found.');
}
return $user;
}
-----------события------------------------------
1:~4:20, 5:19
interface EventDispatcher
{
public function dispatch(...$events): void;
}
$this->dispatcher->dispatch(...$user->releseEvents());
---------------валидатор-----------------------
1:~5:00
-----------------------------------------------
запукс apache
docker run --rm -v ${PWD}/sense/public:/var/www/html -p 8080:80 php:7.2-apache
docker-compose up -- build -d (перебилдить контейнеры)
docker-compose exec api-php-cli composer install (запуск по ключи из образа 'docker-compose.yml')
docker-compose down -v (удалить все образы)
------контроль старых и опасных пакетов--------
"require-dev": {
"roave/security-advisories": "dev-master"
}
-------------установка от юзера----------------
sudo chown $USER:$USER . -R
------------запуск тестов----------------------
docker-compose exec api-php-cli vendor/bin/phpunit
docker-compose exec api-php-cli composer test
-----------объект время------------------------ new \DateTimeImmutable()
-----------исключения--------------------------
public function getByEmail(Email $email): User
{
if (!$user = $this->repo->findOneBy(['email' => $email->getEmail()])) {
throw new EntityNotFoundException('User is not found.');
}
return $user;
}
-----------события------------------------------
1:~4:20, 5:19
interface EventDispatcher
{
public function dispatch(...$events): void;
}
$this->dispatcher->dispatch(...$user->releseEvents());
---------------валидатор-----------------------
1:~5:00
-----------------------------------------------
sense-> примонтировать в app и запустить из виртуальной app
docker run --rm -v ${PWD}/sense:/app --workdir=/app php:7.2-cli php bin/app.phpзапукс apache
docker run --rm -v ${PWD}/sense/public:/var/www/html -p 8080:80 php:7.2-apache
docker build --file=sense/Dockerfile --tag sense-php-cli sense
docker run -d(ввиде демона в фоне) --name(с именем) -v(вольюм)
docker-compose run --rm sense-php-cli composer install
docker-compose run --rm sense-php-cli composer require ramsey/uuid
getSomething - либо находит либо исключение
findSomething - либо находит или ноль
hasSomething - bool
docker-compose run --rm sense-php-cli php bin/console doctrine:migrations:diff
docker-compose run --rm sense-php-cli composer install
docker-compose run --rm sense-php-cli composer require ramsey/uuid
getSomething - либо находит либо исключение
findSomething - либо находит или ноль
hasSomething - bool
docker-compose run --rm sense-php-cli php bin/console doctrine:migrations:diff
docker-compose run --rm sense-php-cli php bin/console doctrine:migrations:migrate
5:2:57:03 -> service (container) factory
-------CoreUI install-----
docker-compose run -- rm sense-php-cli composer require encore
docker-compose run --rm sense-node yarn add -s bootstrap jquery popper.js
docker-compose run --rm sense-node yarn add -s sass-loader node-sass
docker-compose run --rm sense-node yarn add -s @coreui/coreui font-awesome perfect-scrollbar simple-line-icons
5:2:57:03 -> service (container) factory
-------CoreUI install-----
docker-compose run -- rm sense-php-cli composer require encore
docker-compose run --rm sense-node yarn add -s bootstrap jquery popper.js
docker-compose run --rm sense-node yarn add -s sass-loader node-sass
docker-compose run --rm sense-node yarn add -s @coreui/coreui font-awesome perfect-scrollbar simple-line-icons
среда, 12 июня 2019 г.
find & get method
Правила для методов:
findSomething - или находит, или - null
public function findSomething(string $value): ?Object
getSomething - как правило находит, иначе - исключение
public function getSomething(string $value): ?Object
как правило конструкция такая, но иногда без "?" в.т.с когда вы уверены что там это есть.
hasBySomething - bool (true or false)
isSomething - bool (true or false)
public function hasSomething(string $value): bool
public function isSomething(string $value): bool
Если метод ничего не возвращает - (void):
public function doSomething(string $value): void
php-cli.docker ==================================================
Do not run Composer as root/super user! See https://getcomposer.org/root for details
findSomething - или находит, или - null
public function findSomething(string $value): ?Object
getSomething - как правило находит, иначе - исключение
public function getSomething(string $value): ?Object
как правило конструкция такая, но иногда без "?" в.т.с когда вы уверены что там это есть.
hasBySomething - bool (true or false)
isSomething - bool (true or false)
public function hasSomething(string $value): bool
public function isSomething(string $value): bool
Если метод ничего не возвращает - (void):
public function doSomething(string $value): void
php-cli.docker ==================================================
Do not run Composer as root/super user! See https://getcomposer.org/root for details
ENV COMPOSER_ALLOW_SUPERUSER 1
=====================================================
Подписаться на:
Сообщения (Atom)
JavaScript learn
Чтобы вставить элемент после какого-то элемента, нужно создать прототип. Element.prototype.appendAfter = function (element) { element.paren...
-
$ apache2 -S $ apache2ctl -S
-
php - r "print phpinfo();" | grep ".ini" php - i | grep ini php -i | grep "memory_limit"
-
/** *@Route("/{id}", name="users.show") *@param User $user *@return Response */ public function show(User $user): ...