Recently I found a book which is related to Symfony 2. The book is called Extending Symfony 2 Web Application Framework by Sebastien Armand. So I made a brief review about it. Find my review below.
I would say, Extending Symfony 2 Web Application Framework by Sebastien Armand is one of the few knowledge sources out there in the market which seriously discuss Symfony 2 in many directions. The book is organised in valuable six chapters and guides you through a real time social website (meetups) example. These chapters contains many deep discussions regarding Symfony 2 services, listeners, dependency injection, commands, templating engine including Twig, database layer of Doctrine including creating a your own data type and so much more. Also this book covers a handy discussion regarding ensuring the security and increasing the performance while maintaining a good solid code. As an overall, this book is ideal for someone who is already familiar with Symfony 2 framework, but loves to enhance and polish their thorough understanding about Symfony 2, tailor / structurize pre build applications using much effective approaches and developing easily shareable bundles.
Where you can buy the book :- http://www.packtpub.com/extending-symfony-2-web-application-framework/book
Hey Symfony 2 lovers,
Let’s have a good understanding about routings in Symfony 2. Routing is the navigational paths (directives) in your application. For instance if you want to show all your products in your shopping cart application, which was developed by Symfony 2, routing could be either ‘your_cart/web/app_dev.php/show_all_items’ or ‘your_cart/web/app.php/show_all_items’. In here ‘your_cart‘ is the name of your application, ‘web‘ is the default path in Symfony 2 (you can hide this later), ‘app_dev.php‘ and ‘app.php‘ are two environments in the same application, such as development and production environment. These environments are there to distinguish your application in different purposes which I am not going to discuss any further. Our main concern in here is the ‘show_all_items‘ bit. This is a routing which fires a function in a controller. If you are new to a frameworks this concept might be little surprising to you. This is how the major frameworks work. When you hit a path, such as ‘show_users‘ will call a predefined function in a predefined controller. If you see something like this ‘show_users/10‘, probably that is to show how the user which has the id of 10, something like that. This 10, will be passed to a method as a parameter, such as ‘public function showUser($id)’.
Let’s have a quick but precise look at injecting various services in Symfony 2 today. Before going any deep, what does it mean by injecting services ? Well, if I am not so wrong, not many PHP frameworks do favour injecting services as Symfony 2 does. Injecting various services into the application is a really beautiful, cool thing, I would say. If you manage to inject services properly, you really don’t want to take care of object creations. Well, what’s injecting service actually is ? Injecting a service in Symfony 2 is, you define, a service or set of services (in PHP, classes) at the application load time, then you reuse those services as much as you want, any time during the execution, without redeclaring or creating objects of those services (classes). In other words it will help you to “standardize and centralize the way objects are constructed in your application” . There are 3 types of injections in Symfony 2, which are,
- Constructor Injection
- Setter Injection
- Property Injection
In this post, I will be discussing about the ‘Constructor Injection’, because I thought it might be useful to know how this type of injection works before knowing the remaining two. Continue reading
Welcome back. Today I am going to focus your attention on bundles. Well, the bundle is the most famous term you will frequently hear, during your adventure in Symfony 2. Actually, the bundle is a really handy feature which has been introduced by any PHP framework (not quite sure about rest of the frameworks) so far. Well, a Bundle is a package, collection of views, entities, controllers and so on. You can organize your code around bundles in a very smart way. And if you use bundles smartly, you can develop a system with highly independent features. Why not we discuss some examples before creating bundles,
- Example 1 : Assume you are creating a basic employee management system. The basic features in a employee management system are employee registration, employee profile, employee payroll, employee attendance and so on. For employee registration, we have a separate UI with relevant registration form fields, we have separate functions (let’s call them controllers), such as checking existence of the employee, validity of the user input values, validity of employee national insurance number (in UK), and so on. And also, we got separate tables to insert values once the user submitted his/her employee registration form. Likewise we can group things (mainly model, view and controllers) in a functional way (but, it’s totally up to you). We call these grouped things as ‘bundles‘ in Symfony 2.
- Example 2: Let’s say you are creating a shopping cart system. In a shopping cart system, we know there are products, categories, sub categories, payment methods and so on. In here, we can have a separate bundles for products, categories and so on. For an example, inside categories bundle, we can nicely arrange things which are mostly relevant to managing categories. These things can be views (html and associated js, css files and so on), models (tables, schema and so on) and controllers (functions such as adding a category, deleting category and so on). So, in here, we are arranging bundles in a logical way. Likewise, you can organize your bundles for products, sub categories and so on. Continue reading
Today, I will be showing you how to setup Symfony 2 in XAMPP environment. This is a real beginners guide, so this post is for beginners, and will be useful to fellas who are new to PHP frameworks, setting up frameworks in XAMPP.
- First thing you need to do is download the latest version of Symfony 2 from the Symfony 2 website. (The most latest version for this moment is 2.7) And also you need to download the most recent version of XAMPP from their website. (The most recent version is 2.4.17). Then install the XAMPP using default settings.
- I hope you have a working version of XAMPP and downloaded Symfony 2 zip file. Create a folder called ‘Symfony‘ inside this path ‘C:\xampp\htdocs‘. (If you haven’t installed under C:\ or installed in different directory, make sure you use that path). Now what you have to do is, extract Symfony 2 zip file in ‘C:\xampp\htdocs\symfony‘ location. Continue reading