Showing posts with label framework. Show all posts
Showing posts with label framework. Show all posts

PHP Frameworks: Tools and Fundamentals (Part 2)

Monday, January 19, 2009

While creating the first article that will contain actual code for these articles series I looked over some things again in order to be sure to provide the correct information. Show what I'm going to do is to give you some interesting resources that are going to help you with during the development process.

Database Architecture

A correct database architecture might be the crucial point of an database driven application . Wrong decisions made during the planning process might lead to future pitfalls and turnarounds and even may cause the project to collapse, especially when building large projects.

There are some Databases and SQL basics and patterns that should be followed for everyone's sake. Searching the web I ran across the following presentations: SQL Antipatterns & Practical Database Design.





Object Maping

In order to save time during the development process most of the modern frameworks map their objects to database schemes. Doing this, processes such as data validation, CRUD actions, code generation and most of the job that some developers ses as "chores".
Some of the terms that you should check before getting started might be the following: Agile Development, Portability and Interface Usability.

The above terms used to keep concerned the developers of desktop applications but as the web evolves into a really powerful tool, many of these technics/terms/tools have been ported to web applications too.

Development Tools

During the last 1-2 years I've been trying to find the environment that suits my needs during development. I've tried many different approaches but the last couple of months I've came down with a solution that fits MY needs and I'm going to the "my" word because everyone has different needs/targets which tries to achieve with various approaches.

I have used simple text editors, WYGIWYS editors, desktop and web IDEs, some of which worked out well and some didn't. The tools that I'm currently using include the following software:

  • Eclipse with the PHP plugin: IDEs such as Eclipse are really handy when dealing with huge amount of code (libs, frameworks etc) and team collaboration (SVN, GIT etc), especially with code auto-completion, automatic code indentation, debug-as-you-type features etc.
  • MySQL Administration Tools: I'm not gonna bother about the power of the command line (especially during the learning process) but when it comes to large database schemes GUI tools can save you a lot of time and headaches!
  • Toad Data Modeler: This is a really powerful tool for SQL development. It supports all features of MySQL and speeds up debugging, monitoring, migration and testing processing.
  • Adobe Dreamweaver: For me Dreamweaver is the absolute tool for HTML and CSS coding as long as you stay in the "code view"!

Some alternatives might be Zend Studio, SQL Navicat, PHPmyAdmin, PHP Designer, PhpED, MyDB Studio and the list could go on.

PHP Frameworks: Which one is the best for me? (Part 1)

Sunday, December 28, 2008

Before I get started I'd like to tell you that this is going to be a YAPFP but the purpose of it is to enlighten all those that are still in the beginning with some interesting tips, opinions and links.

So what could be a good reason to make someone use a framework? I'm sure that that everyone that enjoys coding (and development in general) wishes to become more productive by the time. He (or she) wants his code to look solid, to be easy to extend and refactor (in other words maintainable), to keep sure that he plays by the rules of KISS and DRY, spent time on something creative (and fun) rather than wasting time on common tasks (validation, form creation etc), have a good documentation with real life scenarios, and the list goes on. Many of these goals lets say is easy to accomplish when you follow the guidelines that others who have-been-there-done-them have set.

Lets say that you decided to get started with a framework. Great! But which one would be the one that covers your needs? Which one has the smaller learning curve compared to the features it offers? It's hard to have one straight answer for questions like these... I would suggest to try a couple of them on the same scenario, something small but basic and useful... lets say a CMS with some basic CRUD actions.

At first site this might not look challenging but lets consider what a project like this could include:

  • User Authorization
  • Hierarchical stored data
  • Access Control List
  • Content types
  • RSS Feeds
  • I18n and I10n
As you can see the list includes all the features that come with every open source CMS that works out of the box. The list could go on but lets keep it "short" for the time being.

So far I have worked with the Zend Framework, CakePHP and qCodo, and these three are going to be our tools during the whole thing. Please keep in mind that the purpose of these post series is to show you by example a possible use of each framework (nothing should be taken for granted) and not to make a final verdict such us "The XXX framework is the BEST! Everything should be eliminated!"

Zend Frameworks links:

CakePHP links:

qCodo links:

RailsEnvy.com

Saturday, July 26, 2008

Fooling around in Youtube I was trying to find some info about CakePHP framework, you know any slideshows, presentations, quick tutorials, podcasts etc and I ran into the guys from RailsEnvy.com. Rails Envy is more than just a blog about Ruby and Rails. They are a company that develops web apps as well as offers speaking & training. They also have a podcast and create funny videos. I really enjoyed their videos parodies of "Mac VS PC" ads and specially the one called "Ruby on Rails vs .NET". Watch the video:

YAML Builder

Monday, September 10, 2007

A couple of weeks ago I posted something about YAML. For all of you interested in YAML and the use it may have in web design and coding. In this cool demo you can take a much clearer idea of what you may achieve with YAML and its components! Finally it proved to be a very useful tool!

Yet Another Multicolumn Layout (YAML): CSS Framework

Monday, September 03, 2007

Do you remember Blueprint post about a month ago? Well here is another cool CSS tool for all web designers out there. YAML is an (X)HTML/CSS framework for creating modern and flexible floated layouts. The structure is extremely versatile in its programming and absolutely accessible for end users.

  • Based on web standards
  • Accessible
  • Flexible
  • Easy to use
  • Fully documented
I haven't test it yet but I'm sure that it may prove a very useful tool judging from the examples available here.

jQuery: Write less, do more

Wednesday, July 11, 2007

John Resig, the creator of jQuery has made a slideshow presentation about the advantages of using jQuery in combination with Ruby on Rails.



For everyone that hasn't heard of jQuery in the past let me remind you that it's about a lightweight "Comprehensive DOM, Event, Animation, and Ajax JavaScript Library" as described here. If you are inrested in taking a look at what you can achieve with jQuery check out the demos below:

  1. jQuery Showcase #01: Dragable Objects
  2. jQuery Showcase #02: HTTP shell
  3. jQuery Showcase #03: Display website thumbnail on mouse over
If you are intrested in similar Javascript libs/frameworks check these out as well:
  1. Prototype
  2. Mootools
  3. MochiKit
Enjoy!