I’ve already produced a first steps tutorial for total PHP newbies, and now I’m dying to get stuck into something much bigger and more challenging. So that’s why I’m introducing today this new project: A Yii Framework Tutorial. This tutorial is going to be massive and exhaustive. I’m going to build a full site in Yii Framework from nothing, and document the whole process.
When the main body of the development is complete it will be an actual PHP web app that you can download and install for yourself. The intention is to then implement the app at some hosting, make it live and populate it, and try to get people using it. This post-development stage is not strictly speaking part of PHP development, but it is critical to the success of any site and so may be of use to you. In any case it should make for a fun experiment!
Overview of the Yii Framework Tutorial Project
I think we’ll need around 30 sessions to get to an initial launch version. The implementation and subsequent work on the live site is kind of open-ended, so I’m not sure where that work will go, but I will continue to document the work if that makes sense.
I’m going to document pretty much everything, including as much relevant stuff as I can. I will talk about tools, tips, and other techniques as we go. The point is to be useful, so I encourage questions and feedback (just use the comment forms on the post in question). Ideas from this feedback might shape the course of the project if they strike me as good or inspired!
My primary goal is to get a minimum viable product ready and made live. Once it is live (both as a downloadable source archive, and as a publicly accessible website) I will refine and improve the software as necessary to help it grow and mature. I will make all the source freely available here at golearnphp.com.
The source will be available under an open source license so you can just skip all the tutorials and download it for your own use if you like.
Why Yii Framework? Why a Tutorial?
I’m kicking off the Yii Framework Tutorial because I’ve done a lot of sites in Zend and I’m keen to learn another framework. I’ve head good things about Yii and this is a good opportunity for me to learn it. I’m doing this project as a tutorial because I think it will be a useful resource: what better way to learn than to follow a whole project from start to finish? I also think that providing all the source code for a completed site will be a useful exercise.
- What is the project / what does the app do?
- The project is called raddir. The first session will go over the name and the design of the app in detail.
- Will it be Open Source?
- It will at some point, when the development part of the main tutorial is complete.
- What are the requirements for the Yii Framework Tutorial?
- You’ll need MAMP, WAMP, or some other PHP stack on a development machine. And get a good text editor (some pointers for Mac PHP editors and Windows PHP editors). You’ll need access to the web too, obviously!
- What about the skill level requirements?
- You should have some familiarity with PHP and a basic awareness of Object Oriented Programming. You will also need at least some awareness of SQL. I will provide more reading as we go for those who need help, but if you really need a primer, check out my beginner’s PHP tutorial series.
Here is the draft Session Index for the first few sessions. I won’t try to plan the sessions too much in advance, because this is probably going to change anyway. I’ll add to the Index as the sessions are published.
Yii Framework Tutorial – contents
- Session 1: Design and Features – Scope and document the features as a draft
- Session 2: Database Schema Design
- Implement the skeleton of the project
- Layouts and view templates
Some of the other sessions we’ll cover… n.b. not in this order.
- fixtures and database stuff
- Controllers & Views
- Authorisation and Access Control
- Third – party libraries
- View helpers and partials
- Doing stuff with layouts: overrides
- On-site SEO considerations: we already covered url structure & html quality. But add description, keywords, title generation.
What do you think?
I’m psyched about this! Let me know what you think of it.
Keep up with development on raddir
To follow progress subscribe to the mailing list: