0xaa ПОШАГОВОЕ СОЗДАНИЕ БАНДЛА ДЛЯ SYMFONY 4
Очень актуально с переходом на 4ю версию симфони, нашел отличную статью:
https://habr.com/ru/post/419451/
Ну и полезная ссылка: Demo-проект на симфоне
symfony
Очень актуально с переходом на 4ю версию симфони, нашел отличную статью:
https://habr.com/ru/post/419451/
Ну и полезная ссылка: Demo-проект на симфоне
symfony
Задумался на тем, как бы мне не ходить ручками в терминал, чтобы запустить встроенный web-сервер Symfony, и не делать каждый раз вот это bin/console server:run 8081
, при чем сначала нужно выйти в корень Symfony-проекта, что частенько просто бесит.
I've decided to write ftn-tosser based on separated libraries:
First movements are packet parser and message serializer:
fidonet symfony php
Как же хорошо, что иногда не нужно изобретать велосипеды:
https://github.com/Hipaway-Travel/HipMandrillBundle
symfony
Go to project dir and create composer.json
{
"require": {
"symfony/console": "^3.1",
"symfony/finder": "^3.1",
"psr/log": "^1.0"
},
"autoload": {
"psr-4": {
"": "src/"
}
}
}
Then run install:
composer install
Create application script file and make it executable:
touch areafix
chmod a+x areafix
Content of areafix
file:
#!/usr/bin/env php
<?php
// set to run indefinitely if needed
set_time_limit(0);
/* Optional. It’s better to do it in the php.ini file */
date_default_timezone_set('Europe/Kiev');.
// include the composer autoloader
require_once __DIR__ . '/vendor/autoload.php';.
// import the Symfony Console Application.
use Symfony\Component\Console\Application;.
use Commands\GreetCommand;
$app = new Application();
$app->add(new GreetCommand());
$app->run();
?>
I put my commands to src/Commands
. Command example (from http://symfony.com/doc/current/components/console/introduction.html#creating-a-basic-command):
namespace Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
class GreetCommand extends Command
{
protected function configure()
{
$this
->setName('demo:greet')
->setDescription('Greet someone')
->addArgument(
'name',
InputArgument::OPTIONAL,
'Who do you want to greet?'
)
->addOption(
'yell',
null,
InputOption::VALUE_NONE,
'If set, the task will yell in uppercase letters'
)
;
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$name = $input->getArgument('name');
if ($name) {
$text = 'Hello '.$name;
} else {
$text = 'Hello';
}
if ($input->getOption('yell')) {
$text = strtoupper($text);
}
$output->writeln($text);
}
}
symfony
How to create a Symfony Rest API from scratch
symfony php
validation: { enabled: true, enable_annotations: false }
Bundle\Entity\Post:
properties:
name:
- NotBlank: ~
text:
- NotBlank: ~
$entity = new Entity();
$validator = $this->get('validator');
$errors = $validator->validate($entity);
if (count($errors)>0) {
} else {
}
symfony
php
http://gnugat.github.io/tags/ultimate%20symfony%20series/
symfony
Create notification in controller:
$this->addFlash(
'notice',
'Your changes were saved!'
);
$this->addFlash
is equivalent to $this->get('session')->getFlashBag()->add
Twig template to show notification:
{% for flash_message in app.session.flashbag.get('notice') %}
<div class="alert alert-success">
{{ flash_message }}
</div>
{% endfor %}
symfony
bin/console generate:bundle
It will ask some questions and creates all minimal needed files.
symfony