A few short years ago, one of the more common criticisms about PHP was that it did not support MVC-style architectures. Times change. And these days, there are a number of choices available in the world of PHP frameworks. This series takes a look at three widely used PHP frameworks — Zend, symfony, and CakePHP — examining their similarities and differences while building and extending a sample application in each of the three frameworks.
This "PHP frameworks" series is designed for PHP developers who want to start using a framework, but haven't gotten a chance to examine the available frameworks in detail. At the end of it, you will understand why the three frameworks were chosen, how to install each one, and you'll have a good handle on the test application you're going to extend in each of the three frameworks. It might sound like a lot, but don't worry. It is a lot, but we've broken up the information into manageable chunks.
About this series
Part 1 of this series lays out the scope for the series, introduces the frameworks being examined, covers their installation, and scopes out the first test application you will build. (Phew!)
Part 2 walks you through building the sample application in each of the three frameworks, highlighting their similarities and differences.
Part 3 starts with extending the test application, then deals with exceptions to the rule. All frameworks work well when doing the tasks for which they were designed. Needing to do something the framework wasn't built to do happens on every project. This article looks at such instances.
Part 4 focuses primarily on Ajax support. The use of Ajax, using native code and third-party libraries, is examined — specifically, how each framework behaves and accepts specific popular libraries.
Part 5 deals with working outside the frameworks. A single task is identified (nightly update script), and the process for accomplishing this task is examined in each framework.
* Akelos installation.
* Using generators.
* Using scaffolds.
* Model View Controller in Akelos.
* Using migrations to distribute the changes in your database.
* Ruby syntax on Akelos PHP views using Sintags.
* Database associations.
* Helper functions on views.
* Internationalizing your application.
* Unit testing.
* The log
* Akelos PHP console
Ah, sending mail, the bane of everyone who has ever used the php mail() function for anything remotely non-trivial. There are lots of entries in the “helps you send mail” category in PHP userland:
* PEAR Mail
While each of these will work with Solar, the new Solar_Mail and Solar_Smtp packages work “natively”, in that they support automatic configuration, locale and exception inheritance, and so on. Read on for some examples on how to use them.
Our special guest today is Ed Finkler. Ed is a web application developer, security expert, graphic designer, and dabbling musician. He works for CERIAS at Purdue University, and is a member of the PHP Security Consortium.
Today Ed is going to give us the lowdown on the PHP based framework, CodeIgniter.
As is the case with most development teams tasked with maintaining legacy applications, most System i shops continue to maintain valuable data that is trapped within their legacy applications. In most cases, these applications are not easily integrated with outsides applications or services. However, System i developers now have a new tool in their toolbox, PHP. PHP provides the tools System i developers need to easily expose their data and services to external applications via Web Services. Utilizing PHP and Zend's developer tools, Web Services can easily be written to wrap existing programs.
Zend provides a complete set of products that support System i integration from development to production. Zend's solutions include native System i database support and System i objects access. (e.g., RPG/COBOL/CL programs, CL commands, spooled file entries, data area and many more).
In this article we will show how quick and simple it is to create a Web Service wrapper for an existing RPG program.
I wrote this guide thinking in the user's who want's develope dynamic application's with the GWT (Google Web Toolkit) in an AMP(Apache,MySQL,PHP) environment's. The basic idea is write a small and very simple application using MySQL and PHP at the server side, and GWT for the client interfaze, using JSON for the communication between the client and the server.
Thanks to the rise of the PHP frameworks the Model View Controller pattern is becomming quite populair. To get a good idea how this works and what job PHP and Apache have, I’ve written a short example Hello World application which implements the MVC model without the use of a framework.
Not long ago I saw Tom OReilly's great tutorial entitled "Keeping bindModel and unbindModel out of your Controllers." While he showed us some great tips I was not so comfortable having to define my model relations in a different way, but I still wanted the possibility to only specify what relations I want to get when querying a model.
The Solar library and application framework can make your development efforts faster, easier, more secure, and more structurally predictable. This article, by Solar's creator Paul M. Jones, talks about the foundational concepts underpinning the technical aspects of the Solar project.
Since most of the applications I write, and get teams to write for me, use the FlexyFramework, I though some simple instructions might be usefull.
FlexyFramework, is an extremely simple pair of classes that help load action classes, do internal redirection, and load up basic configuration settings. Basically taking all the hard work out of setting up a reasonably secure web application.
In this simple example, I'm going to use a little project called FlexyCash, so if you are setting up a project, just replace all the references to FlexyCash with your project name.