PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (28): В начало « ... 5 6 7 8 [9] 10 11 12 13 ... » В конец

> Найдено сообщений: 406
digi Отправлено: 08 Марта, 2013 - 11:46:30 • Тема: Codeigniter: виды • Форум: CMS и фреймворки

Ответов: 41
Просмотров: 7439

да, вопросы насущные Улыбка) на симфони всё это красиво и гибко делается Улыбка
digi Отправлено: 06 Марта, 2013 - 09:59:23 • Тема: Помогите с загрузкой файла. • Форум: Объектно-ориентированное программирование

Ответов: 12
Просмотров: 2787
а где тут ооп? Улыбка
digi Отправлено: 04 Марта, 2013 - 01:39:04 • Тема: Конструктор классов в CodeIgniter? • Форум: CMS и фреймворки

Ответов: 33
Просмотров: 7284
DeepVarvar пишет:
совместной машинке сделать красивое разделение прав доступа

конечно можно Улыбка и даже нужно ;) только нет гарантии, что на очердном шареде вдруг по какой-то причине этого не будет сделано ;)

а вот про статику... тут не только сисадмин... да и купив дешевый впс, врятли сюппорты будут ковыряться с тонкими настройками нгинса и варниша... впс всёже лучше самому уметь настраивать...
digi Отправлено: 03 Марта, 2013 - 19:48:49 • Тема: Роутинг • Форум: Объектно-ориентированное программирование

Ответов: 22
Просмотров: 3869
разумеется аргумент метода, там же в доке и пример кода контроллера есть:

PHP:
скопировать код в буфер обмена
  1.  
  2. // src/Acme/BlogBundle/Controller/BlogController.php
  3. namespace Acme\BlogBundle\Controller;
  4.  
  5. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  6.  
  7. class BlogController extends Controller
  8. {
  9.     public function showAction($id)
  10.     {
  11.         // ...
  12.     }
  13. }
  14.  
digi Отправлено: 03 Марта, 2013 - 15:06:34 • Тема: Роутинг • Форум: Объектно-ориентированное программирование

Ответов: 22
Просмотров: 3869
risktaker пишет:
А если не использовать yml, то так правильно?

вот тут
CODE (htmlphp):
скопировать код в буфер обмена
  1. http://symfony.com/doc/master/book/routing.html#adding-requirements


покликай на табикиУлыбка)

там и YAML и XML и PHP
digi Отправлено: 03 Марта, 2013 - 14:25:48 • Тема: Роутинг • Форум: Объектно-ориентированное программирование

Ответов: 22
Просмотров: 3869
dubasua, если со slug будет идти раньше, то до id делой не дойдет.. по этом вопрос в файле routing.yml указывать надо в нужном порядке Улыбка
digi Отправлено: 03 Марта, 2013 - 14:20:58 • Тема: Роутинг • Форум: Объектно-ориентированное программирование

Ответов: 22
Просмотров: 3869
ммм.... давай будем считать, что так как я привел примеры - это правильно ;)
digi Отправлено: 03 Марта, 2013 - 14:09:50 • Тема: Роутинг • Форум: Объектно-ориентированное программирование

Ответов: 22
Просмотров: 3869
dubasua пишет:
А если у категории блога, еще 5 категорий вложенных друг в друга, а потом когда нибудь понадобится перенести пост из пятой категории в первую???

есть такие задачи Улыбка но это уже называется "динамический роутинг" т.е. в таком случае разгребание строки запроса берет на себя сам контроллер, который может переворошить по категориям, которы хранятся например в БД, например так:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. # блог
  3. blog:
  4.   path: /blog/{slug}
  5.   methods: GET
  6.   defaults: { _controller: MyBlogController:indexAction, slug: "" }
  7.   # slug - может быть любой строкой.
  8.  requirements: { slug:  ".+"}
  9.  
digi Отправлено: 03 Марта, 2013 - 13:58:38 • Тема: Роутинг • Форум: Объектно-ориентированное программирование

Ответов: 22
Просмотров: 3869
dubasua пишет:
А как же красивые урл?? у блога что нет категорий???


да легко! Улыбка)

CODE (html):
скопировать код в буфер обмена
  1.  
  2. # отобразить запись блога в категории
  3. blog_show_in_category:
  4.   path: /blog/{category}/{id}.html
  5.   defaults: { _controller: MyBlogController:showPostAction }
  6.   # id - Должен быть целым числом.
  7.   requirements: { id:  \d+ }
  8.  


в общем тут фантазии вообще нет предела ;)


risktaker пишет:
Если именными то тогда вопрос:
Есть 10 контроллеров, тогда рутов должно быть больше


с чего вдруг?? форматы ссылок (маршруты) по которым работает приложение, никак не связано с его внутренним устройством. может быть 1 котроллер и 10 экшенов, может быть 1 контроллер, 1 экшен, а отличаться все роуты только аргументами...

опять же надо иметь ввиду, что нужна еще обратная генерация маршрута! например надо надо получиться ссылку первой записи блога, значит должен быть сервис который это сделает, напрмиер так:
PHP:
скопировать код в буфер обмена
  1. $uri = $this->get('router')->generate('blog_show', ['id' => 1]);
digi Отправлено: 03 Марта, 2013 - 13:48:18 • Тема: Конструктор классов в CodeIgniter? • Форум: CMS и фреймворки

Ответов: 33
Просмотров: 7284
DeepVarvar, а делал ручками или каркасом пользовался каким-то?

про симфони могу сказать ;)) он неподходит для шаред-хостингов Недовольство, огорчение(( т.е. на некоторых конечно его можно запустить... но оно того не стоит Недовольство, огорчение притом проблеммы именно из-за либо очень устаревшего софта, либо просто из-за ограничений шареда, либо могут стоят несоврмстимые модули, например на шареде таймвеба поставили Zeng Guard Loader, а он какой-то толи древний, то еще чего, но теперь симфони там не работает Недовольство, огорчение( а еще полгодика назад вполне прилично работал ;)

соответсвенно сейчас для симфонических проектов пригодны только VPS, но это и хорошо! ;) во первых независимосто от "соседей" (вирусня от них не пролезит), а во вторых можно тонко настроить отдачу статического контента, что на самом деле отнимает больше времени, чем генерация самой хтмлки... благо сейчас впс-ки появились от 1500руб в год (что соответствует уровню шареда) и они вполне прилично справляются Улыбка опятьже при повышении популярности впс ресурсы можно докупить ,а с шареда надо съезжать Недовольство, огорчение
digi Отправлено: 03 Марта, 2013 - 13:37:53 • Тема: Роутинг • Форум: Объектно-ориентированное программирование

Ответов: 22
Просмотров: 3869
лучше всёже в yaml оформлять маршруты ;)) например
CODE (html):
скопировать код в буфер обмена
  1.  
  2. # отобразить запись блога
  3. blog_show:
  4.   path: /blog/{id}.html
  5.   defaults: { _controller: MyBlogController:showPostAction }
  6.   # id - Должен быть целым числом.
  7.   requirements: { id:  \d+ }
  8.  


в общем-то вот тут дока http://symfony[dot]com/doc/master/co[dot][dot][dot]ntroduction[dot]html
digi Отправлено: 03 Марта, 2013 - 13:28:07 • Тема: Роутинг • Форум: Объектно-ориентированное программирование

Ответов: 22
Просмотров: 3869
ручным ;) тогда при изменении приложения не будет зависимости формата запросов к именам и методам классов... тем более что маршрутов не так уж и много требуется...

для ускорения партинга автоматически генерируется файл appUrlMatcher php в котором аккуратненько расписан процесс парсинга и от возвращает в ответ имя контроллера, экшена и аргументов для него Улыбка
digi Отправлено: 02 Марта, 2013 - 21:12:39 • Тема: Конструктор классов в CodeIgniter? • Форум: CMS и фреймворки

Ответов: 33
Просмотров: 7284
ну почему же Улыбка) как мы уже выяснили ребята из эллислаб 5 лет назад умели программировать ;)
digi Отправлено: 02 Марта, 2013 - 21:04:30 • Тема: Конструктор классов в CodeIgniter? • Форум: CMS и фреймворки

Ответов: 33
Просмотров: 7284
а не прочитав точно не станешь ;)
digi Отправлено: 02 Марта, 2013 - 20:59:02 • Тема: Конструктор классов в CodeIgniter? • Форум: CMS и фреймворки

Ответов: 33
Просмотров: 7284
= Почему выбран именно Symfony2? =

Выдержка сути из оригинальной статьи: http://fabien.potencier.org/article/65/why-symfony.

* Symfony - это не фреймворк, а проект. В зависимости от потребностей, можно использовать что-то из компонентов Symfony, либо Silex микро-фреймворк, либо полноценный full-stack фреймворк.
* Symfony используется крупными компаниями (BBC, CBS), крупными web-проектами (TED, wetter.com, Lockers и даже, для разнообразия, YouPorn), Open-Source проектами (CMS: Drupal, eZpublish; библиотеки: PHPUnit, Doctrine; продукты вроде phpBB или электронной торговли; фреймворки вроде PPI, Laravel). Благодаря этому все эти решения совместимы в некоторой степени между собой.
* Symfony - это также огромное сообщество пользователей и авторов. За последний год более 550 человек внесло правки в ядро Symfony, а сообщество создало более 1600 бандлов для full-stack фреймворка. Также ежегодно проводятся специализированные конференции, посвященные Symfony.
* Symfony появился на свет в 2005 году и все еще жив. Помимо SensioLabs, на Symfony строят свой бизнес множество других компаний.
* Symfony придерживается философии "не изобретать велосипед" и обеспечивает хорошую интеграцию с многочисленными другими Open-Source проектами (Monolog, Assetic, Doctrine, Propel и т.д.)
* Symfony пытается привнести инновационные подходы в разработке: мы одними из первых перешли на PHP 5.3, ввели использование DI контейнера, шаблонизатора по-умолчнию (Twig, который уже внедрен в CMS Drupal и eZpublish). Symfony отличается уникальными разработками: великолепный дебаг-тулбар и встроенный профайлер.

От себя добавлю, что Symfony (в отличии от ZF) мне нравится:

* Изящным кодом;
* Фукнциональным CLI-интерфейсом;
* Хорошими компонентами, используемыми в full-stack фреймворке (с многими из них я познакомился впервые именно благодаря Symfony: Assetic, Monolog, Imagine, Composer...);
* Очень просто для Symfony найти готовое решение;
* Ознакомление со стандартами, вроде [http://www[dot]skillz[dot]ru/dev/php/art[dot][dot][dot]iya_PHP_PSR[dot]html PSR].


http://trish[dot]in/article/php-frameworks

http://altabel[dot]wordpress[dot]com/201[dot][dot][dot]amework-symfony/



а про книжку... лучше не тратить время и не заниматься хрен знает чем, а всёже прочитать как правильно кодть ;)

Страниц (28): В начало « ... 5 6 7 8 [9] 10 11 12 13 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB