Symfony
Symfony
Symfony
The use of a different framework is often essential for medium and large scale web
developments, but is also of interest for small developments. PHP has evolved as the scripting
language the most chosen by developers, which has generated an explosion of different PHP
frameworks. There is a big debate about what the best PHP frameworks are, because the simple
fact is that not all frameworks are built for everyone. Indeed, not all frameworks meet the same
needs, and several frameworks can be used together in certain situations. In this training
symphony is selected as good php framework for web development. Symphony is a complete
framework designed to optimize the development of web applications by way of several key
features. It is written entirely in PHP and it is compatible with most of the available databases
engines, including MySQL, PostgreSQL, Oracle, and Microsoft SQL Server. It runs on different
operating system like Windows platforms. For starters, it separates a web application’s business
rules, server logic, and presentation views. It contains numerous tools and classes aimed at
shortening the development time of a complex web application. Additionally, it automates
common tasks so that the developer can focus entirely on the specifics of an application. To
accomplish the planned training it requires 80,500 Birr.
|Page
Abbreviation /acronym
CMS: Content Management System
HTML: Hypertext Markup Language
HTTP: Hypertext
LCD: Liquid Crystal Digital
MYSQL: My structured Query Language
MVC: Model Viewed Control
MWU: Madda Walabu University
PHP: Hypertext Preprocessor
SQL: Structural Query Language
XML: Extensible Markup Language
|Page
Table of Contents
Executive summary.......................................................................................................................................i
Abbreviation /acronym................................................................................................................................ii
1. INTRODUCTION...............................................................................................................................1
1.1 Project Background...............................................................................................................................1
2. Project Rationale.................................................................................................................................2
2.1 Statement of the Problem.....................................................................................................................2
3. Stakeholders and Target Beneficiaries.................................................................................................3
4. Project Justification.............................................................................................................................3
5. Project Goal and Objectives.....................................................................................................................4
5.1 Project goal........................................................................................................................................4
5.2. Immediate Objective........................................................................................................................4
6. Project Implementation and Management Plan......................................................................................5
6.1. Project Activities...............................................................................................................................5
6.2. Work Plan.........................................................................................................................................6
6.3. Implementation Strategy..................................................................................................................7
6.4. Sustainability....................................................................................................................................8
6.5. Risks and Assumptions......................................................................................................................9
7. Expected Project Results.........................................................................................................................9
7.1. Output..............................................................................................................................................9
7.2. Outcomes.............................................................................................................................................9
8. Project Monitoring and Evaluation........................................................................................................10
8.1. Project Monitoring..........................................................................................................................10
8.2. Project Evaluation...........................................................................................................................10
8.3. Evaluation Criteria..........................................................................................................................10
8.4. Method of Evaluation.....................................................................................................................11
9. Phases of Training..................................................................................................................................11
10. Budget Break Down.............................................................................................................................12
11. Reference............................................................................................................................................13
|Page
|Page
1. INTRODUCTION
1.1 Project Background
In recent years, the PHP programming language has evolved as the scripting language of choice
by most developers; there has been an explosion of upcoming PHP frameworks. These
frameworks for PHP development have multiple benefits, and are one of the most important
developments in the design and IT development practices of the last 20 years. There are several
reasons why a developer would like to choose PHP frameworks, especially because they offer
developers the ability to create more complex, secure and complete web applications faster than
ever before.
PHP frameworks are available in all kinds of shapes and sizes and have targeted developers with
different levels of experience, application needs, hosting capabilities and development time.
The authors [1] declare that the PHP framework facilitates Web programming and makes it
better
Organized in several ways. First, PHP frameworks increase the productivity of programming
because writing a piece of code that usually takes hours and takes hundreds of lines of code can
be done in minutes using built-in functions of the framework. On the other hand, a PHP
framework usually comes with a support team, documentation or important support forums
where users can quickly get answers. The authors [2] emphasize the importance of using PHP
frameworks; they propose a modular workspace, consisting of a set of libraries tools and
conventions that allow focusing on the business logic of the 'application. It also provides a
framework for the application, usually based on the use of the Model View Controller (MVC)
paradigm. This ensures a separation between: the data model that is in charge of access and
requests to the database, the "view", which is a description of the presentation of the data (e.g.
generation of HTML, XML, etc.), and the controller, which implements the business logic by
retrieving the model data to make them available to view [3]. The authors [4], [5] argue that PHP
frameworks have a major security advantage since its users become long-term testers. If a user
finds a security issue, they can notify the infrastructure developer website so that the
development team can fix it [6]. Thus the authors [7] declare that PHP frameworks have features
|Page
that satisfy most web programmers depending on the development style they want. Actually,
there are PHP frameworks with all kinds of features such as security, robustness, ease of use.
However, choosing a PHP framework introduces many requirements and complexity, as some
Development habits will have to be set aside when it is adopted. Thus, although it is supposed to
improve the productivity of the user's developments, there is always a phase during which the
cost is greater than the gain: this choice must be carefully considered.
There are many Frameworks that are popular and widely used for development written in
different languages that are built around the same structuring facilitates the learning and
understanding of a Frameworks, among them the PHP frameworks, including Laravel, symfony,
etc. which are the most used by the developers. Each of these two frameworks has advantages
and provides a specific implementation that should be taken into account to make its choice [2].
The author [2] claims that the Symfony framework is the best for complex enterprise-level
applications, and to quickly and efficiently enrich the institution's information system. This is
why he chose Symfony for the development of his project; which refers to an application to
simplify the procedure of archiving the conference proceedings of researchers.
2. Project Rationale
2.1 Statement of the Problem
Web application frameworks were getting popular at that time, and the need for a full featured
Framework in PHP was high. However, most web applications are created from scratch by using
only core php, this works only for simple website and this lead to time-consuming and difficult
task with little to no re-use of the development effort shared amongst developers.
Whether you are a PHP expert or a newcomer to web application programming, you will be able
to use framework for web design. The main factor in deciding whether or not to do so is the size
of your project. If you want to develop a simple website with five to ten pages, limited access to
a database, and no obligations to ensuring its performance or providing documentation, then you
should stick with PHP alone. You wouldn’t gain much from a web application framework, and
using object orientation or an MVC model would likely only slow down your development
process.
On the other hand, if you develop more complex web applications, with heavy business logic,
|Page
PHP alone is not enough. If you plan on maintaining or extending your application in the future,
you will need your code to be lightweight, readable, and effective. If you want to have fun and
develop fast, then PHP alone will probably be disappointing. To solve this problem, this training
implemented a web application framework called symfony that simplifies the process of
developing web. Symfony offered a compelling solution due to its impressive code quality and
significant amount of documentation.
4. Project Justification
The term "framework" in the case of Web frameworks, is a set of libraries and tools that can
Improve the design of Web applications, bringing additional features while adding rigor in their
development. A framework also allows automation of tasks because it integrates a number of
routines implemented natively. Using a framework is therefore guaranteed to have a coherent
architecture, where the rigor of development is paramount. It is also a reflection on the future,
since a light, optimized and consistent code is much easier to maintain and improve than the too
famous "code soup" [8]- [9]. Framework facilitates Web programming and makes it better
organized in many ways. First of all, frameworks increase programming productivity because
writing a piece of code that usually takes hours and takes up hundreds lines of code can be done
in minutes with the help of framework built-in functions. Secondly, widely used framework has a
major security advantage since its users become long-term testers. If a user finds a security
|Page
problem, he can notify about it on the framework developers website so that the developer team
would be able to fix it. Thirdly, often most popular frameworks are free and since they help the
developer to write code faster the final cost will be smaller. Fourthly, a framework usually comes
along with a support team, documentation or large support forums where users can quickly get
answers. There are various open-source technologies currently in use-libraries, Frameworks,
APIs, etc. The use of Frameworks stems from the need to quickly develop large applications, by
promoting code reuse, testing and changes to an application. There are many Frameworks that
are popular and widely used for web development written in different languages that are built
around the same structuring facilitates, the learning and understanding of a Frameworks, among
them the PHP frameworks, including symfony, Cakephp, Zend, etc. which are the most used by
the developers. Each of these frameworks has advantages and provides a specific implementation
that should be taken into account to make its choice.
Symfony framework is the best php framework.it is a leading PHP framework to create web
applications and websites. Symfony is a reliable and high performing framework developed from
Sensio Labs. As a developer using this framework, you will enjoy the following benefits;
To teach trainers about symfony framework practically starting from installation to web design
|Page
To give the trainers the best clue on how they can develop web using symfony frame work
To make sure the trainers got best understanding of symfony framework for web development
|Page
6.2. Work Plan
Activity Month Responsible body
December January February
|Page
Prepare registration on sheets Project owner
|Page
II. Practical session: every session has a practical class. All software is stated by hand from the
very beginning to the advanced concepts. With the help of internet all concepts presented will be
implemented.
III. Tutorial: - sample projects are done together with the trainees and trainers for a better
understanding.
IV. Evaluation: different evaluation method is given for the trainers to know their skill
developed during this training.
6.4. Sustainability
The goal of a framework is to allow designers and developers to focus on building the unique
features for their project, rather than re-inventing the wheel by coding common, familiar features
found across many websites and web applications. A framework can be considered a pre-built
template/structure that handles most of the repetitive or common features. As a result, unlike a
CMS, a framework will probably not have a user interface (although this is not always the case,
as Django provides an administration interface). The Symfony project is known for providing
high quality software. Since 2011 the Symfony framework has been a trusted base for creating
web applications and the various components have been adopted by numerous popular Open
Source projects like Laravel and phpBB. At time of writing the Symfony project maintains 34
individual PHP Components and a Full Stack Framework. The components are individual
functional bits that can be adopted to PHP applications using Composer and the auto loading
mechanism. The Framework is a mix of code and principles tying the components to form a base
for creating custom applications. The Framework offers common functionalities like
configuration, authentication, authorization, caching and form handling.
In addition to software, the Symfony site states that it is also a philosophy of "Embracing and
promoting professionalism, best practices, standardization and interoperability of applications".
This may sound grand or pretentious at first, but it holds the key to why Symfony can remain
relevant in the future as well. By embracing standards and interoperability between other
members in the PHP ecosystem, Symfony itself becomes more valuable for the larger
community. With competing projects like Bolt CMS, Drupal, eZ Platform all sharing the same
components for HTTP communications, Symfony turns from a benefactor to a partner in
symbiosis.
|Page
After finalizing the training, the project owners will advise computing college the students in
web development to develop their skill gradually by trying over their own projects, hence after it
will get success through achieving the proposed objectives efforts will be applied so spread out
the encouraging experiences and positive results obtained from what they understand from the
training to start their entrepreneurship or business in their life
Schedule Shift the schedule of the project Less Arrange convenient schedule
based on the consent of
stakeholders
Got the ability to install and work with php framework and others components.
Able to have the skill of using the symfony information like symfony security, routing, database
configuration, validation, etc.
7.2. Outcomes
The students have the skill and confidence to teach other students a practical skill of web
development using php framework(symfony)
The students will be able to build their own web for market using symfony.
|Page
The students can have the capacity to integrate symfony with php and others components
They can be able to earn money or start business using php framework in features.
|Page
8.4. Method of Evaluation
The methods will depend the ways of in which depend on the ways of in which monitoring and
following up the performance of the trainees for implementation. In addition to this the following
methods will be used. Results from the assessment on the training course will be assessed
accordingly. Self-assessment will be held by the trainee immediately following the training.
Discussion made after the training with the trainee or supervisor. Successful completion of the
training will be evaluated using questionnaire immediately following the training
9. Phases of Training
The projects have three phases: In the first phase student will able to discuss basic concepts of
php framework specifically symfony framework, in the second phase install and configuration of
system requirement for symfony framework will be done. Thirdly, student develop their own
web using symfony framework with other component. From the given 10 days each have the
appropriate time division and content cover
|Page
10. Budget Break Down
No Description Measurement Quantity Number Unit Total cost in
of days price birr
Technical cost
|Page
11. Reference
[1] N. Prokofyeva and V. Boltunova, “Analysis and Practical Application of PHP Frameworks
in Development of Web Information Systems,” Procedia Comput. Sci., vol. 104, pp. 51–56,
2017.
[2] B. Ninassi and S. Panay, “Les frameworks de développement web : comment enrichir
rapidement et efficacement système d ’ information de votre établissement,” pp. 1–8, 2011
[3] S. Subramaniam, S.-C. Haw, and P. K. Hoong, “Bridging XML and Relational Databases: An
Effective Mapping Scheme based on Persistent Labeling,” International Journal of Electrical and
Computer Engineering (IJECE), vol. 2, no. 2, pp. 239–246, 2011.
[4] R. Das and D. Prasad Saikia, “Comparison of Procedural PHP with Codeigniter and Laravel
Framework,” Int. J. Curr. Trends Eng. Res. Sci. J. Impact Factor, vol. 2, no. 6, pp. 42–48, 2016.
[5] D. R. Lakshmi and S. S. Mallika, “A Review on Web Application Testing and its Current
Research Directions,” Int. J. Electr. Comput. Eng., vol. 7, no. 4, p. 2132, 2017.
[6] V. Narayana, P. Premchand, and A. Govardhan, “Performance and Comparative Analysis of
the Two Contrary Approaches for Detecting Near Duplicate Web Documents in Web Crawling,”
International Journal of Electrical and Computer Engineering (IJECE), vol. 2, no. 6, pp. 819–
830, 2012.
[7] F. Sierra, J. Acosta, and J. Ariza, “Estudio y análisis de los framework en php basados en el
modelo vista controlador para el desarrollo de software orientado a la web,” Rev. Investig. y
Desarro. en TIC, vol. 4, no. 2, pp. 1–13, 2013
[8] L. Blanc, E. Gouleau, O. Mansour, T. Rivoallan, V. Lemaire, and X. Lacot, “Frameworks
PHP pour l’entreprise,” pp. 1–38.
[9] V. Petrosyan, “A Guide to Popular PHP Frameworks for Beginners | SEJ,” 2016.
|Page