darkwoolf
12.01.2018
00:13:02
Dmytriy
12.01.2018
04:24:57
Всем привет
Может кто подсказать... разбираюсь с symfony, сделал блог, но теперь надо с Sanata Admin Bundle разобраться и привязать к сайту. По мануалу (https://symfony.com/doc/current/bundles/SonataAdminBundle/getting_started/creating_an_admin.html) не получается так как entity уже создан до этого, и репозиторий есть, потому подойдя на этап когда в сервисах нужно добавить - ошибка "The service "admin.blog" has a dependency on a non-existent service "sonata.admin.manager.orm"."
Сама запись в сервисах
"admin.blog:
class: Blogger \ BlogBundle \ Admin \ BlogAdmin
arguments: [~, Blogger \ BlogBundle \ Entity \ Blog, ~]
tags:
- {name: sonata.admin, manager_type: orm, label: Blog}
public: true"
Где то явно напортачил, где понять сложно..
написано же:
"The service "admin.blog" has a dependency on a non-existent service "sonata.admin.manager.orm"."
нужно еще установить doctrine-orm-admin-bundle и прописать его в аппкернел
composer require sonata-project/doctrine-orm-admin-bundle
в аппкернел:
new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(),
Alexander
12.01.2018
06:28:37
Точно, спасибо большое
Dmytriy
12.01.2018
06:32:36
рад был помочь)
Google
Noised
13.01.2018
16:57:31
Всем привет) Есть задача - установить symfony и sonata.
Установка symfony проходит успешно, после установки и настройки sonata страница выводит сообщение, что нет роута для GET "/"
Решил, что может для sonata возможно нужен хотя бы единственный контроллер, снёс всё, установил заново на всякий случай. Пользуюсь XAMPP
Но в итоге даже самый простой контроллер создать не удалось) Может, подскажет кто-нибудь, в чем ошибка?
Вот что я делаю:
Разворачиваю symfony, стандартная страница работает
Устанавливаю doctrine
Создаю базу, подключаю в .env
Настраиваю виртуальный хост, чтобы по localhost кидало сразу на public
Захожу в config/routes.yaml - там уже есть закомментированный роут, раскомментирую.
********
index:
path: /
controller: App\Controller\DefaultController::index
********
Создаю в папке src/Controller файл с именем DefaultController.php
********
<?
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
class DefaultController
{
public function index()
{
$number = mt_rand(0, 100);
return new Response(
'<html><body>Lucky number: '.$number.'</body></html>'
);
}
}
?>
*******
Контроллер взял из оф. документации
В итоге выводится такая ошибка:
*******
(2/2) FileLoaderLoadException
The autoloader expected class "App\Controller\DefaultController" to be defined in file "D:\Programming\xampp\htdocs\symfony\symfony4\vendor\composer/../../src\Controller\DefaultController.php". The file was found but the class was not in it, the class name or namespace probably has a typo in D:\Programming\xampp\htdocs\symfony\symfony4\config/services.yaml (which is loaded in resource "D:\Programming\xampp\htdocs\symfony\symfony4\config/services.yaml").
*******
В чем может быть проблема? Не понимаю, почему он вообще лезет в папку vendor\composer, так и должно быть?
symfony 4
Николай
13.01.2018
17:00:58
composer dump пробовал?
Noised
13.01.2018
17:07:25
сейчас попробовал, ничего не поменялось)
или мне после этого заново следует установить symfony?
Николай
13.01.2018
17:11:43
<?php
в начале файла
Noised
13.01.2018
17:13:13
вот)) Это уже помогло, спасибо) :D невнимательный
так, тогда дальше. Сейчас сонату попробую установить
А кто-нибудь знает, как контроллер админки сонаты в services.yaml подцепить для symfony 4?.
Сейчас вот так, по документации смотрел, но возможно уже синтаксис другой:
admin.category:
class: CategoryAdmin
arguments: [~, \Entity\Category, ~]
tags:
- { name: sonata.admin, manager_type: orm, label: Category }
public: true
Ошибку выдаёт эту:
*****
Cannot autowire service "App\Controller\CategoryAdmin": argument "$code" of method "Sonata\AdminBundle\Admin\AbstractAdmin::__construct()" must have a type-hint or be given a value explicitly.
*****
Модели нужные и миграции сделал
Соната сама работает, админка отображается) Пока контроллер не добавляешь
U_mulder
13.01.2018
20:06:00
вроде же ясно написано что у вас нет тайпхинта для $code
Noised
13.01.2018
22:42:32
ну это мне не дало ничего) В классе AbstractAdmin, от которого наследуется класс CategoryAdmin, должен передаваться этот $code первым аргументом. Что именно должно передаваться, не пойму, и где это прописать? arguments: [*здесь что-то должно быть?*, \Entity\Category, ~]
Google
Alexander
14.01.2018
07:10:38
Надо бы код видеть, пока не силён, но объявлена ли $code в entity/Category?
U_mulder
14.01.2018
07:56:35
по идее надо в конфиге записать что у CategoryAdmin есть parent: . И вообще, вы же четверку используете, зачем вам алиасы, используйте полное имя класса.
Noised
14.01.2018
14:48:15
Alexandr,
src/Controllers/CategoryAdmin.php
*********
<?php
namespace App\Controller;
use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Form\FormMapper;
class CategoryAdmin extends AbstractAdmin
{
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper->add('name', 'text');
}
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper->add('name');
}
protected function configureListFields(ListMapper $listMapper)
{
$listMapper->addIdentifier('name');
}
}
?>
*********
vendor\sonata-project\admin-bundle\src\Admin\AbstractAdmin.php
*********
...
/
* @param string $code
* @param string $class
* @param string $baseControllerName
*/
public function __construct($code, $class, $baseControllerName)
{
$this->code = $code;
$this->class = $class;
$this->baseControllerName = $baseControllerName;
$this->predefinePerPageOptions();
$this->datagridValues['_per_page'] = $this->maxPerPage;
}
...
**********
Где в движке создаётся экземпляр класса - понятия не имею)
U_mulder,
с symfony вообще знакомлюсь только сейчас, всё малопонятно пока что)
admin.category:
parent: AbstractAdmin
autowire: true
autoconfigure: false
class: CategoryAdmin
arguments: [~, \Entity\Category, ~]
tags:
- { name: sonata.admin, manager_type: orm, label: Category}
public: true
сделал так, но конечно же, parent это видимо вообще что-то другое, мне пока непонятное)
Denis
15.01.2018
13:43:18
Ребят, подскажите новичку. Посмотрел вебинар по симфони, пытаюсь повторить. Установка прошла норм, но при создании бандла он не попадает в автошколе... Правлю composer.json добавляя его туда вручную, но при входе браузером 127.0.0.1:8000 получаю ошибку unable to find template
В названиебандла/resources/views/default есть index.html.twig
Елнур
15.01.2018
13:47:44
напишите ошибку полностью, какой template не может найти?
Denis
15.01.2018
13:53:58
Unable to find template "BLogBundle:Default:index.html.twig" (looked into: C:\OSPanel\domains\symfony\app/Resources/views, C:\OSPanel\domains\symfony\vendor\symfony\symfony\src\Symfony\Bridge\Twig/Resources/views/Form).
сам бандл создался тут C:\ospanel\domains\symfony\src\BLogBundle
Елнур
15.01.2018
13:55:55
вы попробуйте открыть http://127.0.0.1:8000/app_dev.php
то есть открыть в dev окружении
кажется у вас symfony версия 2 или 3
Denis
15.01.2018
13:56:16
та же ошибка...
последняя
3.4
скачать как в вебинаре 3.0.2 и не париться.. ?
вебинар если что вот этот https://www.youtube.com/watch?v=HrFYaEtwjBM
Roman
15.01.2018
19:02:24
Чистые запросы через pdo нужно юзать?
Используется orm doctrine, запросы отправляются с помощью сущностей. Если хочется что то конкретное, то можно через querybuilder писать запрос. Кажется так
kekenec
16.01.2018
20:20:48
Всем привет. Есть вопрос, связанный с архитектурой Symfony, надеюсь на вашу помощь. Собираю небольшой фреймворк из его компонентов. Не понимаю, зачем постоянно оборачивать HttpKernelInterface, когда есть события на каждом шаге. Что делать "правильнее" и почему?
Оборачивать для поддержки HttpCache, например. Почему нельзя отлавливать события в процессе обработки реквеста/подготовки респонса?
Anarbek
17.01.2018
13:47:14
Добрый день, помогите разрешить проблему. При сохранении формы, дата сохраняется на день меньше чем была. Слушителей нет, калбеков нет, данные меняются на не правильные после handleRequest($request);. В модели тип \Datetime, в бд date
Google
Anarbek
17.01.2018
13:47:34
От клиента приходит правильная дата
Dmitry
17.01.2018
13:48:28
Anarbek
17.01.2018
13:49:08
Dmitry
17.01.2018
13:49:56
Anarbek
17.01.2018
13:50:48
А можно в доктрайне указать что бы хранила дату без времени? Что то в доках не нашел этого
Dmitry
17.01.2018
13:51:58
Anarbek
17.01.2018
13:52:15
В базе тип date
в doctrine \Datitime
\Datetime
darkwoolf
17.01.2018
17:48:16
Всем здравствуйте
https://hastebin.com/dobetusaxe.xml
Возможно есть добрые люди которые могут помочь в создании лайков.Уже капец много временни пытаюсь понять как сделать их, но что-то получаеться не то что нужно.Проблема на уровни концепции просто, а не в испольнении я бы сказал
Igor
17.01.2018
21:20:34
@darkwoolfik неплохо би описать задачу - мол лайки как в фейсбуке или еще как то..
если задача простая типа: нужно дать возможность юзерам лайкать пости и в самом посте показать количество уникальних лайков и лайков етих точно не будет много - то простейший вариант добавить сущности пост 2 поля:
$likes - хранит количество лайков
$usersLikes - связь с сущностью юзера
@ORM\ManyToMany(targetEntity="User")
@ORM\JoinTable(name="posts_likes",
joinColumns={@ORM\JoinColumn(name="post_id", referencedColumnName="id", onDelete="CASCADE")},
inverseJoinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id", onDelete="CASCADE")}
вот тут еще бандл есть https://github.com/UnDeleteRU/LikesBundle - можно глянуть что да как
darkwoolf
17.01.2018
23:38:21
Admin
darkwoolf
17.01.2018
23:39:28
Alexander
18.01.2018
12:48:56
Где искать причину, никто не встречался с подобной ошибкой?
Tree object class: AppBundle\Entity\Menu must have tree metadata at this point
Гугл не исправно молчит.
Stas
18.01.2018
12:55:58
ну судя по илщибке незвататет просто каких то данных у сущности
Google
Stas
18.01.2018
12:56:16
может в самой БД чего то нету и оно неможет его вытянуть иил параметр како йто неописан в сущности
Alexander
18.01.2018
12:57:18
Поищу, спасибо. Там мультиязычность еще в плюс идет, возможно из-за нее, точнее настроек...
Vera
19.01.2018
07:47:52
Всем доброе утро! Не, баньте, плиз, если вакансии не приветствуются - в инфо группы не нашла :) Очень ищем в команду симфониста. Мы предоставляем простой и понятный сервис заказа грузового автомобиля в мегаполисах на стыке самых передовых технологий. _Что делать_
Реализация новых сервисов и модулей проекта
Рефакторинг уже существующего кода, Проектирование API
_Ожидания по квалификации_
Опыт работы 3-5 лет
Уверенное владение PHP, Symfony 2/3, *SQL (в т.ч. оптимизацией запросов), паттернами проектирования
Опыт работы с Redis, Memcache, ElasticSearch - плюс!
_От нас_
Офис около м. Савеловская
ДМС после испытательного срока, Оформление по ТК РФ
Работа в лучшем новом сервисе! (по данным за 2016 г.)
РЕЗЮМЕ И ТВОРЧЕСКИЕ ЗАМЕТКИ: vera.suchkova@gmail.com
ДЕТАЛИ: http://bit.ly/2A1rDUi
#ITиDigital #вакансия #работа #москва #symfony2 #php
Dmytriy
19.01.2018
07:50:52
Vit
19.01.2018
09:08:53
Всем доброе утро! Не, баньте, плиз, если вакансии не приветствуются - в инфо группы не нашла :) Очень ищем в команду симфониста. Мы предоставляем простой и понятный сервис заказа грузового автомобиля в мегаполисах на стыке самых передовых технологий. _Что делать_
Реализация новых сервисов и модулей проекта
Рефакторинг уже существующего кода, Проектирование API
_Ожидания по квалификации_
Опыт работы 3-5 лет
Уверенное владение PHP, Symfony 2/3, *SQL (в т.ч. оптимизацией запросов), паттернами проектирования
Опыт работы с Redis, Memcache, ElasticSearch - плюс!
_От нас_
Офис около м. Савеловская
ДМС после испытательного срока, Оформление по ТК РФ
Работа в лучшем новом сервисе! (по данным за 2016 г.)
РЕЗЮМЕ И ТВОРЧЕСКИЕ ЗАМЕТКИ: vera.suchkova@gmail.com
ДЕТАЛИ: http://bit.ly/2A1rDUi
#ITиDigital #вакансия #работа #москва #symfony2 #php
А что это за мегаполис такой, на стыке передовых технологий??
Vera
19.01.2018
09:11:43
Известное дело :)) Москва. Действительно, не очздорово предложение построено...Но все равно спасите-помогите, пожалуйста. Проект отличный, уже активно работающий. С чем вообще связан такой дефицит по симфони? Вот прямо мало вас...Для этой вакансии можно и повыше по деньгам, если Symfony4
Anatoly
19.01.2018
13:51:12
darkwoolf
19.01.2018
13:56:11
Так можно было бы сделать если был бы лайк и дизлайк
Хотя ладно, Просто "А как оно знает убрать лайк, или нет"?
U_mulder
19.01.2018
14:03:18
если в таблице связи есть пара юзер-фото - значит есть лайк.
Роман
19.01.2018
14:03:29
Ребят кто знает как инвалидировать кэш результата запроса доктрины в Symfony 3+
В symfony2 это было следующим образом: $this->getDoctrine()->getConfiguration()->getResultCacheImpl()->delete('YOURKEY');
ol
19.01.2018
16:19:10
Всем доброе утро! Не, баньте, плиз, если вакансии не приветствуются - в инфо группы не нашла :) Очень ищем в команду симфониста. Мы предоставляем простой и понятный сервис заказа грузового автомобиля в мегаполисах на стыке самых передовых технологий. _Что делать_
Реализация новых сервисов и модулей проекта
Рефакторинг уже существующего кода, Проектирование API
_Ожидания по квалификации_
Опыт работы 3-5 лет
Уверенное владение PHP, Symfony 2/3, *SQL (в т.ч. оптимизацией запросов), паттернами проектирования
Опыт работы с Redis, Memcache, ElasticSearch - плюс!
_От нас_
Офис около м. Савеловская
ДМС после испытательного срока, Оформление по ТК РФ
Работа в лучшем новом сервисе! (по данным за 2016 г.)
РЕЗЮМЕ И ТВОРЧЕСКИЕ ЗАМЕТКИ: vera.suchkova@gmail.com
ДЕТАЛИ: http://bit.ly/2A1rDUi
#ITиDigital #вакансия #работа #москва #symfony2 #php
Для этого есть специальная группа
Vera
19.01.2018
16:21:52
@ol_sm , могли бы подсказать? общую по php знаю, а по симфони, к сожаению, нет.
ol
19.01.2018
16:22:22
В общей и нужно писать, все там сидят. Кому интересно, откликнуться.
Vera
19.01.2018
16:23:39
Ок, спасибо, там тоже будет :)
Alexander
19.01.2018
16:24:38
Опа, поделитесь ссылкой на общую пхп)
Vera
19.01.2018
16:28:19
PHP — вакансии, поиск работы и аналитика
https://t.me/php_jobs
Alexander
19.01.2018
16:30:58
спасибо
Google
Dmytriy
21.01.2018
14:35:04
Дмитрий Maestro
21.01.2018
16:44:28