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.

0 candy-tate(s)!: