Один Год С Symfony Перевод Книги “A Year with Symfony” От Matthias Noback [В ПРОЦЕССЕ]

Total Page:16

File Type:pdf, Size:1020Kb

Один Год С Symfony Перевод Книги “A Year with Symfony” От Matthias Noback [В ПРОЦЕССЕ] Один год с Symfony Перевод книги “A year with Symfony” от Matthias Noback [В ПРОЦЕССЕ] Dmitry Bykadorov и Matthias Noback Эта книга предназначена для продажи на http://leanpub.com/a-year-with-symfony-ru Эта версия была опубликована на 2017-05-08 This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License Оглавление От переводчика .......................................... 1 Предисловие ............................................ 2 Введение .............................................. 4 Благодарности ......................................... 5 Кому предназначена эта книга ................................ 6 Соглашения ........................................... 7 Обзор содержания книги ................................... 8 I От запроса до ответа ...................................... 9 HttpKernelInterface ....................................... 10 Загрузка ядра ........................................ 11 Бандлы и расширения контейнера ....................... 12 Создание сервисного контейнера ....................... 13 От Kernel до HttpKernel .................................. 14 События, приводящие к ответу ............................... 16 Ранний ответ ........................................ 16 Слушатели kernel.request, о которых вам нужно знать . 17 Определение контроллера для запуска ......................... 18 Возможность замены контроллера ............................ 20 Примечательные слушатели события kernel.controller . 21 Сбор аргументов для выполнения контроллера .................... 22 Выполнение контроллера ................................. 23 Вход в слой представления (view) ............................ 24 Примечательные слушатели события kernel.view . 25 Фильтрация ответа ..................................... 25 Примечательные слушатели события kernel.response . 26 Обработка исключений .................................... 27 Примечательные слушатели события kernel.exception . 28 Подзапросы ........................................... 30 Когда используются подзапросы? ............................ 30 II Приёмы внедрения зависимостей ............................. 32 Что такое бандл (bundle) ................................... 33 Приёмы создания сервисов .................................. 34 ОГЛАВЛЕНИЕ Обязательные зависимости ................................ 34 Обязательные параметры конструктора ................... 34 Абстрактные определения для дополнительных аргументов . 34 Вызов обязательных set-методов (setters) ................... 36 Вызов методов в абстрактных сервисах . 37 Необязательные (опциональные) зависимости .................... 38 Необязательные аргументы конструктора . 38 Необязательные вызовы set-методов ..................... 39 Коллекции сервисов .................................... 40 Вызов нескольких методов ........................... 42 Лучшее из двух миров .............................. 42 Метки сервисов (tags) .............................. 43 Вызов одного метода ............................... 44 Замена аргумента конструктора ........................ 45 Передаём ID сервисов вместо референсов . 45 Делегирование создания ................................. 47 Не очень полезно… ................................ 47 Иногда всё-таки полезно… ........................... 48 Создание сервисов вручную ............................... 49 Определение .................................... 49 Аргументы ..................................... 50 Таги ......................................... 51 Алиасы (псевдонимы) .............................. 51 Класс Configuration ..................................... 51 Динамическое добавление тагов ............................. 53 Используем паттерн Стратегия для загрузки сервисов . 55 Загрузка и конфигурирование дополнительных сервисов . 57 Подчищаем класс конфигурации ........................ 58 Конфигурируем сервис, который будем использовать . 59 Полностью динамическое определение сервисов ................... 61 Приёмы создания параметров ................................ 63 Файл parameters.yml .................................... 63 Определение и загрузка параметров .......................... 64 Параметры для имени класса .......................... 65 Сборка значений параметров вручную .................... 65 Определяем параметры в расширениях контейнера . 67 Переопределение параметров при помощи компилятора (compiler pass) . 68 III Структура проекта ....................................... 70 Организация слоёв приложения ............................... 71 Тонкие контроллеры .................................... 71 Обработчики форм ..................................... 72 Доменные менеджеры ................................... 74 События ........................................... 76 События уровня хранения (persistence) .................... 79 ОГЛАВЛЕНИЕ Состояния и контекст ..................................... 82 Контекст безопасности .................................. 82 Запрос ............................................ 85 Избегаем зависимостей от текущего запроса . 87 Используем слушатель (event listener) . 88 Предоставлять объект запроса во время выполнения . 88 Использование только нужных значений . 89 IV Соглашения по конфигурированию ............................ 90 Настройка конфигурации приложения ........................... 91 Локальные конфигурационные файлы ......................... 92 Храните parameters.yml ............................. 93 Добавьте default_parameters.yml ........................ 93 Соглашения по конфигурированию ............................. 95 Маршрутизатор ....................................... 95 Правила именования маршрутов ........................ 96 Сервисы ........................................... 96 Метаданные Doctrine .................................... 97 V Безопасность .......................................... 98 Введение ............................................ 99 Symfony и безопасность .................................. 99 Цели: предотвращение и ограничение . 100 Минимизация урона ...............................101 Оценка мер по обеспечению безопасности . 101 Перед тем как мы начнём… . 102 Аутентификация и сессии ..................................103 Инвалидация сессии ....................................103 Угон сесии .....................................103 Долгоиграющие сессии ..............................104 Дизайн контроллеров .....................................107 Защита действий в контроллерах ............................108 Размещение контроллеров за файрволлом . 109 Валидация входных данных .................................110 Безопасные формы .....................................110 HTML5-валидация ................................110 Ограничения валидатора ............................111 Формы без сущности ...............................111 Валидация значений из запроса .............................114 Атрибуты запроса .................................115 Параметры маршрута . 115 Query (GET) и request (POST) параметры . 116 Используем ParamFetcher . 117 Очистка HTML ........................................118 Автоматизация очистки .............................119 Экранирование вывода ....................................120 ОГЛАВЛЕНИЕ Twig ..............................................120 Контекст экранирования ............................120 Экранирование вывода функций . 120 Экранирование аргументов функций . 121 Опасности raw фильтра .............................122 Быть скрытным ........................................124 Маскируйте ошибки аутентификации . 124 Предотвращайте отображение исключений . 125 Настройте страницы ошибок ...............................125 Не сообщайте ничего определённого о конфиденциальных данных . 126 VI Используем аннотации .................................... 128 Введение ............................................129 Аннотация - это простой Объект-Значение (Value Object) . 131 Добавляем аттрибуты к вашим аннотациям . 133 Передача атрибутов через конструктор . 134 Заполнение публичных свойств указанными атрибутами . 134 Валидация при помощи @Attributes . 135 Валидация при помощи аннотаций @var и @Required . 135 Ограничения на использование аннотации . 136 Когда стоит использовать аннотации ............................138 Загрузка конфигураций ..................................138 Контроль процесса выполнения приложения . 139 Используем аннотации в вашем Symfony-приложении . 141 Реагируем на атрибуты запроса (Request): аннотация @Referrer . 141 Предотвращаем выполнение контроллера: аннотация @RequiresCredits . 144 Модифицируем ответ: аннотация @DownloadAs . 148 Проектирование для повторого использования . 152 Заключение ...........................................154 VII Быть Symfony разработчиком ............................... 155 Повторно используемый код должен иметь слабую связность . 156 Разделяйте код копании от кода продукта . 156 Разделяйте код на “библиотечный” и “бандловый” . 157 Уменьшайте связность с фреймворком . 158 Слушатели событий (listeners) вместо подписчиков (subscribers) . 158 Аргументы конструктора вместо получения параметров из контейнера . 159 Аргументы конструктора вместо получения сервисов из контейнера . 159 О производительности ..............................161 Контроллеры, не зависящие от фреймворка
Recommended publications
  • Sovremenny PHP.Pdf
    Modern РНР New eaturesF and Good Practices Josh Lockhart Beijing • Cambridge • Farnham • Kбln • Sebastopol • Tokyo O'REILLY" Современный РНР Новые возможности и передовой опыт Джош Локхарт Москва, 2016 УДК 004. 738.5:004.438РНР ББК 32.973.4 Л73 Л73 Джош Локхарт Современный РНР. Новые возможности и передовой оныт / пер. с англ. Рагимов Р. Н - М.: ДМК Пресс, 2016 . - 304 с.: ил. ISBN 978-5-97060-184-6 Из книги вы узнаете, как РНР превратился в зрелый пол1юфу11кци­ ональный объектно-ориентированный язык, с пространствами имен и постоянно растущей коллекцией библиотек компонентов. Автор демонстрирует новые возможности языка на практике. Вы узнаете о передовых методах проектирования и конструирования приложений, работы с базами данных, обеспечения безопасности, тестирования, от­ ладки и развертьшания. Если вы уже знакомы с языком РНР и желаете расширить свои з11а- 1шя о нем, то эта книга для вас! УДК 004.738.5:004.438РНР ББК 32.973.4 Original Ei1glisl1 language edition puЬlisl1ed Ьу O'Reilly Media, Iпс., 1005 Gravenstein Нighway North, SeЬastopol, СА 95472. Copyright © 2015 O'Reilly Metlia, Inc. Russiaп-laпguage editioп copyright © 2015 Ьу DMK Press. All rights reserved. Все права защищеflЫ. Любая часть этой книги не может быть воспроиз­ ведена в какой бы то ни было форме и какими бы то ни было средствами без nнсьмеююrо разрешения владельцев авторских прав. Материал, изложенный в данной кннrе, м1юrокрапю проверен. Но, по­ скольку вероятность технических ошибок осе рао1ю существует, издательство не может rара1пировать абсолютную точность и правильность приводимых соеде1шй. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-1-49190-501-2 (анrл.) Copyright © 2015Josh Lockhart ISBN 978-5-97060-184-6 (рус.) © Оформление, перевод на русский язык, ДМК Пресс, 2016 Лорел посвящается ----"···· ОrЯАВЯЕНИЕ Об авторе .......................................................
    [Show full text]
  • Wordpress Bible, I Immediately Offered Him a Hand in Editing
    Companion Web Site • Provides code files for all examples in the book Companion Web Site Companion Aaron Brazell Install WordPress and go beyond WordPress Technical editing by Mark Jaquith, Web Site a lead WordPress core developer blogging Visit www.wiley.com/go/wordpressbible WordPress is so flexible that developers are now tapping for all of the author’s example files from the book. it to create robust applications for content, contact, and ® e-mail management. Whether you’re a casual blogger Aaron Brazell or programming pro, this comprehensive guide covers is a leading WordPress and social media consultant, with clients WordPress from the basics through advanced application ranging from enterprise software WordPress development. Learn how to use custom plugins and companies to small- and medium- sized businesses. He has worked on themes, retrieve data, maintain security, use social media, large-scale WordPress installations and modify your blog without changing any core code. from both a technical/scaling perspective to complex deliveries You’ll even get to know the ecosystem of products that involving extreme leveraging of the surrounds this popular, open-source tool. software plugin API. He maintains a large business and technology • Enhance your blog’s findability in the search engines and beyond blog in the Washington D.C. area, Technosailor.com. • Discover hooks and leverage the WordPress event-driven programming interface Mark Jaquith • Create WordPress widgets in only a few minutes is one of the lead WordPress core developers and an independent Web • Explore alternate uses of WordPress services consultant. He has consulted • Enhance your blog with WordPress MU for major clients through his company, Covered Web Services, and is the • Ensure your plugins maintain future compatibility author of several popular WordPress Install, secure, and plugins, including Subscribe to ® • Create highly customizable and dynamic themes using template tags Comments and Page Links To.
    [Show full text]
  • Pfc6168.Pdf (438.8Kb)
    ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DE TELECOMUNICACIÓN UNIVERSIDAD POLITÉCNICA DE CARTAGENA Proyecto Fin de Carrera TÍTULO: Iphone Bookshelf AUTOR: David Zamora Gutiérrez DIRECTOR: Francesc Burrull i Mestres Febrero / 2015 INDEX IPhone application………………………………………………………………... o Tools……………………………………………………………………… . Iphone…………………………………………………………….. Objective-C……………………………………………………….. o Code………………………………………………………………………. Web site…………………………………………………………………………... o Tools……………………………………………………………………… . Codeigniter……………………………………………………….. Php………………………………………………………………... Http……………………………………………………………….. Html………………………………………………………………. Mysql……………………………………………………………... Apache……………………………………………………………. CSS……………………………………………………………….. E-books…………………………………………………………… o Code………………………………………………………………………. References……………………………………………………………………....... IPHONE APPLICATION TOOLS IPHONE The iPhone is a line of Internet- and multimedia-enabled smartphones designed and marketed by Apple Inc. The first iPhone was unveiled by Apple CEO Steve Jobs on January 9, 2007, and released on June 29, 2007. An iPhone can function as a video camera (video recording was not a standard feature until the iPhone 3GS was released), a camera phone, can send texts and receive visual voicemail, a portable media player, and an Internet client with email and web browsing capabilities, and both Wi-Fi and 3G connectivity. The user interface is built around the device's multi-touch screen, including a virtual keyboard rather than a physical one. Third-party as well as Apple application software is available from the App Store, which launched in mid-2008 and now has over 350,000 "apps" approved by Apple. These apps have diverse functionalities, including games, reference, GPS navigation, social networking, e-books... To create applications for this device it’s use the APPLE SDK. APPLE SDK The SDK basically consists of a set of tools that Apple provides to build, debug and test our developments. It contains the following programs: - XCODE: Xcode is a suite of tools, developed by Apple, for developing software for Mac OS X and iOS.
    [Show full text]
  • Curriculum Vitae
    Curriculum Vitae Personal Contact Information Name: Georgi Georgiev Address: Dobrich, Maxim Gorki 5 Dobrich, Bulgaria Mobile: +359889085362 E-mail: [email protected] PROFESSIONAL CERTIFICATION Cisco CCNA2 certificate Management Game Certificate (Arnhem Business School) University education: 2006 - 2008 Studied 2 years in International University College – Dobrich, Bulgaria specialty of "International Business and Management". Currently I am graduating HRQM (Human Resources & Quality Management) student at “Arnhem Business School” The Netherlands. I'm looking for a company to start with my Graduation assignment which has to be in the field of Strategic Human Resources. Secondary School Education: Natural-Mathematics High School "Ivan Vazov", Dobrich Study Profile: Mathematics and Informatics with intensive learning of English Language Form of Education: by day, term of education 3 years Driving License: Category B Mobile: +359889085362 Georgi Dimitrov Georgiev Mail: [email protected] Personal Information Birth Date: 08.10.1983 Place of Birth: Dobrich, Bulgaria Citizenship: Dobrich Merital Status: Single Work Experience 23.05.2001 - 01.09.2002 - Windows and Linux Tech support at Internet Coffee Club in the town of Dobrich, Bulgaria Worked in a small Internet Coffee my task was to support the local Internet Router and Support user desktop stations running Windows 98, Windows XP, Mandrake Linux, Redhat Linux. 20.02.2003 - 25.03.2004 - remote Linux System Administrator at Internet Coffee Club located in the town of Radnevo, Bulgaria My job assignments there were to administrate remotely two Linux servers running different client services, like mail server (exim), linux firewall, samba server, apache 1.x webserver and also to help the IT personnel in the Internet club with maintenance advices.
    [Show full text]
  • Candidate Resume
    201 Creado Apartments, Juhu Church Raod, Juhu, Mumbai- 400049 India P : +91 8898080904 E : [email protected] W : www.falconjobs.net FALCON ID # 42575 IT / Data Engineer Residential Country : Malaysia Nationality : Malaysia Resume Title : Data Engineer Notice Period : 1 Days EDUCATION Qualification Institute / College /university Year Country B E / B Tech 0000 Not Mention CAREER SUMMARY From To Month/ Position Employer Country Month/ Year Year Data Engineer Reputed Company Malaysia 08/2015 / Solution Wellcom Malaysia 09/2012 08/2015 Developer/programmer Communications Engineer Mimos Malaysia 08/2009 09/2012 Columbia Asia Technical It Support Malaysia 01/2009 08/2009 Hospital Computer Cyber Technician Malaysia 01/2006 05/2006 Berjaya ADDITIONAL CERTIFICATE AND TECHNICAL QUALIFICATION Name Of The Course Course Date Valid Upto Name Of Organisation Current Salary Expected Salary Not Mention Not Mention (Monthly In Usd): (Monthly In Usd): Additional Skills : Programming Language : Java(Android),PHP(Yii Framework, Slim, CakePHP, Zend framework) , Action Script , Python, Django Scripting Language : JavaScript , Ajax , JQuery , MooTools, XML, XHTML, Sencha, and HTML Style Languange : CSS , Responsive CSS, Bootstrap Designing tools : Adobe Dreamweaver , Adobe Flex, Adobe Illustrator Adobe Photoshop, Swish Max , ACDsee Photo Editor, Reporting Tools : Jaspersoft Studio, Elixir Technology Development Tools : Adobe Dreamweaver, Adobe Flex, Notepad++ , Eclipse , ZendStudio, Aptana , phpStorm ,PyCharm, Atom Database/Design : MySQL, MSSQL, PostgreSQL,
    [Show full text]
  • Wordpress Bible, I Immediately Offered Him a Hand in Editing
    Companion Web Site • Provides code files for all examples in the book Companion Web Site Companion Aaron Brazell Install WordPress and go beyond WordPress Technical editing by Mark Jaquith, Web Site a lead WordPress core developer blogging Visit www.wiley.com/go/wordpressbible WordPress is so flexible that developers are now tapping for all of the author’s example files from the book. it to create robust applications for content, contact, and ® e-mail management. Whether you’re a casual blogger Aaron Brazell or programming pro, this comprehensive guide covers is a leading WordPress and social media consultant, with clients WordPress from the basics through advanced application ranging from enterprise software WordPress development. Learn how to use custom plugins and companies to small- and medium- sized businesses. He has worked on themes, retrieve data, maintain security, use social media, large-scale WordPress installations and modify your blog without changing any core code. from both a technical/scaling perspective to complex deliveries You’ll even get to know the ecosystem of products that involving extreme leveraging of the surrounds this popular, open-source tool. software plugin API. He maintains a large business and technology • Enhance your blog’s findability in the search engines and beyond blog in the Washington D.C. area, Technosailor.com. • Discover hooks and leverage the WordPress event-driven programming interface Mark Jaquith • Create WordPress widgets in only a few minutes is one of the lead WordPress core developers and an independent Web • Explore alternate uses of WordPress services consultant. He has consulted • Enhance your blog with WordPress MU for major clients through his company, Covered Web Services, and is the • Ensure your plugins maintain future compatibility author of several popular WordPress Install, secure, and plugins, including Subscribe to ® • Create highly customizable and dynamic themes using template tags Comments and Page Links To.
    [Show full text]
  • Razvoj Dinamičkih Web Aplikacija Uporabom PHP-A I AJAX-A, N
    Sveu čilište Jurja Dobrile u Puli Fakultet ekonomije i turizma «Dr. Mijo Mirkovi ć» NIKOLINA CINDRI Ć RAZVOJ DINAMI ČKIH WEB APLIKACIJA UPORABOM PHP-a I AJAX-a Diplomski rad Pula, 2017. Sveu čilište Jurja Dobrile u Puli Fakultet ekonomije i turizma «Dr. Mijo Mirkovi ć» NIKOLINA CINDRI Ć RAZVOJ DINAMI ČKIH WEB APLIKACIJA UPORABOM PHP-a I AJAX-a Diplomski rad JMBAG: 0303040428, redoviti student Studijski smjer: Poslovna informatika Predmet: Dinami čke web aplikacije Znanstveno podru čje: Znanstveno polje: Znanstvena grana: Mentor: prof. dr. sc. Mario Radovan Pula, rujan 2017. IZJAVA O AKADEMSKOJ ČESTITOSTI Ja, dolje potpisana Nikolina Cindri ć, kandidat za magistra poslovne ekonomije ovime izjavljujem da je ovaj Diplomski rad rezultat isklju čivo mojega vlastitog rada, da se temelji na mojim istraživanjima te da se oslanja na objavljenu literaturu kao što to pokazuju korištene bilješke i bibliografija. Izjavljujem da niti jedan dio Diplomskog rada nije napisan na nedozvoljen na čin, odnosno da je prepisan iz kojega necitiranog rada, te da ikoji dio rada krši bilo čija autorska prava. Izjavljujem, tako đer, da nijedan dio rada nije iskorišten za koji drugi rad pri bilo kojoj drugoj visokoškolskoj, znanstvenoj ili radnoj ustanovi. Student ______________________ U Puli, _________, ________ godine IZJAVA o korištenju autorskog djela Ja, Nikolina Cindri ć dajem odobrenje Sveu čilištu Jurja Dobrile u Puli, kao nositelju prava iskorištavanja, da moj diplomski rad pod nazivom Razvoj dinami čkih web aplikacija uporabom PHP-a i AJAX-a koristi na na čin da gore navedeno autorsko djelo, kao cjeloviti tekst trajno objavi u javnoj internetskoj bazi Sveu čilišne knjižnice Sveu čilišta Jurja Dobrile u Puli te kopira u javnu internetsku bazu završnih radova Nacionalne i sveu čilišne knjižnice (stavljanje na raspolaganje javnosti), sve u skladu sa Zakonom o autorskom pravu i drugim srodnim pravima i dobrom akademskom praksom, a radi promicanja otvorenoga, slobodnoga pristupa znanstvenim informacijama.
    [Show full text]
  • Caching PHP Virtual Machine Opcodes for Reuse in a Secure, Multi-User, Enterprise Programming Environment
    PHP ACCELERATION IN THE CLOUD: Caching PHP Virtual Machine Opcodes for Reuse in a Secure, Multi-User, Enterprise Programming Environment by Leif Wendal Wickland A project submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Science MONTANA STATE UNIVERSITY Bozeman, Montana November 2010 ©COPYRIGHT by Leif Wendal Wickland 2010 All Rights Reserved ii APPROVAL of a thesis submitted by Leif Wendal Wickland This project has been read by each member of the thesis committee and has been found to be satisfactory regarding content, English usage, format, citation, bibliographic style, and consistency and is ready for submission to the Division of Graduate Education. Dr. Rocky Ross Approved for the Department of Computer Science Dr. John Paxton Approved for the Division of Graduate Education Dr. Carl A. Fox iii STATEMENT OF PERMISSION TO USE In presenting this project in partial fulfillment of the requirements for a master’s degree at Montana State University, I agree that the Library shall make it available to borrowers under rules of the Library. If I have indicated my intention to copyright this thesis by including a copyright notice page, copying is allowable only for scholarly purposes, consistent with “fair use” as prescribed in the U.S. Copyright Law. Requests for permission for extended quotation from or reproduction of this thesis in whole or in parts may be granted only by the copyright holder. Leif Wendal Wickland November 2010 iv DEDICATION and ACKNOWLEDGEMENTS To my wife and daughter who love me more than I deserve. -LW I would like to acknowledge Erich Hannan for giving me the opportunity to wait for the other shoe to drop.
    [Show full text]
  • Uniform Server – Coral ______
    Uniform Server – Coral _____________________________________________________________________________________________________ Quick Start General Apache MySQL PHP MSMTP CRON DtDNS Db Backup Perl 1 Uniform Server – Coral _____________________________________________________________________________________________________ Quick Start Guide The Uniform Server’s default configuration is set to allow only local access; users on your network or the Internet cannot access your server. This allows you to develop and view your website locally in a secure environment. This guide shows you how to run the servers as standard programs. When run as standard programs, nothing is installed to the Windows registry. The servers are therefore fully portable. Contents • 1 Start the Servers • 2 Set New MySQL root password • 3 Root folder www - Test • 4 Add your Website or test pages • 5 View pages • 6 Stop the Servers 2 Uniform Server – Coral _____________________________________________________________________________________________________ Start the Servers • A) Navigate to the UniServer folder • Locate the file Start_as_program.exe • Double click. This starts the server menu • Click No to pop-ups (But see Set New MySQL root password following). • From Server Menu • Click Start Both button (A3) . Starts servers • If challenged by your firewall, allow access • A browser opens, displaying splash page. • Buttons/Indicators change state Note: There are various start-up conditions. If you receive a message unable to connect and are provided an option from your browser to try again, wait until all disk activity completes and click the "try again" button. Alternatively, wait a reasonable time to view the initial splash page, and enter the following into your browser: http://localhost/us_splash/index.php If you do not have the VC9 library, when you attempt to start the servers, you will get a runtime error popup.
    [Show full text]
  • A Gentle Introduction to Symfony
    A Gentle Introduction to symfony Build professional websites faster with PHP and symfony symfony 1.3 & 1.4 This PDF is brought to you by License: GFDL Version: gentle-introduction-1.4-en-2010-10-13 Table of Contents ii Table of Contents Chapter 1: Introducing Symfony..................................................................... 11 Symfony in Brief ...................................................................................................... 11 Symfony Features............................................................................................................... 11 Who Made Symfony and Why? ........................................................................................... 12 The Symfony Community.................................................................................................... 13 Is Symfony for Me?............................................................................................................. 14 Fundamental Concepts ............................................................................................ 14 PHP..................................................................................................................................... 14 Object-Oriented Programming (OOP) ................................................................................ 14 Magic Methods................................................................................................................... 15 Object-Relational Mapping (ORM) ....................................................................................
    [Show full text]
  • Vysoké Učení Technické V Brně Brno University of Technology
    VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS RAD VÝVOJOVÉ PROSTŘEDÍ PRO DATABÁZOVÉ APLIKACE VYUŽÍVAJÍCÍ JAZYK PHP BAKALÁŘSKÁ PRÁCE BACHELOR´S THESIS AUTOR PRÁCE TOMÁŠ NAIBRT AUTHOR BRNO 2008 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS RAD VÝVOJOVÉ PROSTŘEDÍ PRO DATABÁZOVÉ APLIKACE VYUŽÍVAJÍCÍ JAZYK PHP RAD DEVELOPMENT FRAMEWORK WITH PHP BAKALÁŘSKÁ PRÁCE BACHELOR´S THESIS AUTOR PRÁCE TOMÁŠ NAIBRT AUTHOR VEDOUCÍ PRÁCE ING. JAROSLAV RÁB SUPERVISOR BRNO 2008 3 4 5 Abstrakt Cílem této práce je analyzovat aktuální stav na poli vývoje databázových aplikacích v jazyce PHP a RAD nástroje k tomu určené. Popisuje několik PHP frameworků, které lze aktuálně označit jako nejpoužívanější. Druhá část se zabývá popisem implementace vlastního jednoduchého interaktivního RAD nástroje. Klíčová slova PHP, MySQL, databáze, Zend, Symfony, CakePHP, Delphi for PHP, framework, web Abstract The tendency of this work is analysing a current situation on the field of progress database application in the languages PHP and RAD tools. It describes some PHP frameworks, which we can specify actually as the most widely used. The second part describes a description implementation own simple interactive RAD tool. Keywords PHP, MySQL, database, Zend, Symfony, CakePHP, Delphi for PHP, framework, web Citace Tomáš Naibrt: RAD vývojové prostředí pro databázové aplikace využívající jazyk PHP, bakalářská práce, Brno, FIT VUT v Brně, 2008 RAD vývojové prostředí pro databázové aplikace využívající jazyk PHP Prohlášení Prohlašuji, že jsem tuto bakalářskou práci vypracoval samostatně pod vedením Ing.
    [Show full text]
  • Symfony 1.3 Web Application Development
    Symfony 1.3 Web Application Development Design, develop, and deploy feature-rich, high-performance PHP web applications using the Symfony framework Tim Bowler Wojciech Bancer BIRMINGHAM - MUMBAI This material is copyright and is licensed for the sole use by Vadim Kudria on 4th October 2009 6352 108th St, , Forest Hills, , 11375 Symfony 1.3 Web Application Development Copyright © 2009 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: September 2009 Production Reference: 1150909 Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK. ISBN 978-1-847194-56-5 www.packtpub.com Cover Image by Vinayak Chittar ([email protected]) Download
    [Show full text]