Jeff said it, PHP language sucks. But we use it. Why?
- It’s easy to install for new users. It’s a single PHP extension. And in most cases that’s all you need.
- It’s easy to read. Surely some new scary features have been creeping into, but why the hell do I want my integer to be an object?
- It’s fast. Initially PHP was a collection of C routines. It naturally evolved to be a thin layer on top of C with it’s own language parser.
- It’s safe. Problem with one application can’t impact others. No memory leaks. No runaway threads.
- It’s flexible. Diversity and low standards is what makes Agile Toolkit possible to innovate new and exciting ways.
- It’s transparent. You can actually pick the code and be able to follow what’s going on. Try to follow Ruby framework with all the overloading.
- It’s scalable. It encourages developer to think in terms closer to low level languages.
- It is usable on it’s own. You can actually develop web app in PHP without any 3rd party PHP code.
- It gets job done. When a web app needs to be develop quickly for someone, nothing beats PHP.
Different languages serve different purposes. Inconsistency in function naming? Oh, Cmon.
After I have personally whitened the transformation of computer industry with unification of User Interfaces (by Mac and Windows) which is possible through use of Object-Oriented programing techniques. Object-Oriented programming offers many powerful tools to a skilled developer. Similarly Model-View-Controler concept have proved to be easy to understand and use. Unfortunately the typical MVC implementation is not very object-oriented.
If you combine object-oriented principles with Model-View-Controller paradigm properly, this will result in a much more efficient web development environment. In this article I explain object-oriented principles can be combined with MVC paradigm.
NOTE: I am the author and maintainer of Agile Toolkit. Me and my colleagues have built Agile Toolkit according to the principles I describe here. This article, however, is for promoting the fundamental ideas. If you would like to see a fully-practical implementation of Object-Oriented MVC, read introduction to Agile Toolkit. You are also welcome to implement ideas described here in your favourite programming language / framework / development environment or simply extend your out-look and expand your vision of Software Development.
I have asked few people in London, who was up to help me out with Screencasts. Few people responded who have some ideas they wanted to implement in Agile Toolkit. I was able to help them and recorded our sessions. I now have 8 hours of screencast footage, which I’ll be releasing to youtube.
Subscribe to my channel on YouTube to see the screencasts as soon as I publish them.
The first 6 one-hour sessions is about creating a simple Task Manager. Many thanks to Maurizio for his participations.
Screencast with me!
If you’ve got Skype and great idea for Agile Toolkit we could help each-other. I can help you move forward with your idea and I would get a material for a new screencast session. Please use contact form to send me your ideas.
Agile Toolkit is Open for Business!
I am very pleased to announce that Agile Toolkit is finally ready to be used in your business applications. Not only the code-base, Learning guide and Documentation have matured over the last few months but we’ve got the resources to help you with your questions!
We are running $1.00 license sale. For just a single dollar you will get the following:
- Developing a closed-source application with Agile Toolkit
- Same business day email support
- Instant-messaging support (skype, gtalk)
- Your Code review, suggestions and hints
- Missing a feature? Request it an we’ll make it!
Monday morning the per-domain price will be back to $130, so spend the weekend wisely and get a few licenses for yourself and make sure your friends are in it too.
Click it before it’s too late: http://agiletoolkit.org/commercial/store
How do we turn it over and make things easier? Answer is — PHP UI Framework.
Thanks to all for your reports of my spelling messages across documentation. Here is how you can help. You would need a GitHub account.
Click on “Fork” button. This will create your own copy of agile toolkit website. Next in file browser:
- Click on “templates”
- Click on “jui”
- Click on “page”
- Click on “learn”
- Find the file you want to edit. The structure corresponds to the URLs
- When viewing file, click on [Edit File] button in the right-top corner.
- Fill in description of your change and commit changes back.
When you are finished, click to the button “Pull Request” next to the fork button.
That’s all! Thanks for your time and desire to help me out.
Agile Toolkit now includes the ability to put all it’s PHP classes into a single file. This way you would only need to distribute one file along with your application.
Bundle would only contain classes from “atk4″, so add-ons will not be bundled. Clever minds should be able to extend the bundler to pack add-ons they require along with their own classes.
As a result, you can have all your PHP in one or two classes. To create the bundle you need most recent copy of Agile Toolkit (4.1.1+ would do) and Unix shell. Execute:
Will produce atk4/atk4-bundle.php and also atk4/atk4-bundle.min.php. Replace your include for atk4/loader.php for ‘atk4/atk-bundle.php’ and everything should continue to work. You can then remove atk4/lib.
With increasing popularity of Agile Toolkit, I’m getting more requests from volunteers and people who want to actively learn it. While forum and community portal is still in our short-term plans, we are now using chat.stackoverflow.com for daily communication.
You would need to register with stack overflow and get some reputation if you want to chat, so be sure to ask a couple of “atk4″ questions (or answers) http://stackoverflow.com/tags/atk4
For all of you who have tried version 4.0.3 and have been stuck with it for a while, now it’s the right time to upgrade. There are a lot of new features and I’ll try to quickly go over the ones which are most important.
Whenever I come over object-oriented tutorial or a book, it always uses either Java or C++. I have never found this a big problem, but there are many people out there, who are NOT familiar with those languages and can never find a good tutorial to Object Oriented Programming.
Another problem is that PHP has no built-in interface with the user. You need to generate HTML and it’s not easy to do so, that’s why it makes any object-oriented examples useless or silly.
I want to give you the PROPER example of a good object-oriented paradigms in PHP language. At the end I will explain how this Geometrical universe can be used for Web Software programming: