Noob Alert => sirens -> chaos -> $Iamayiinoob

OK, so I’m about to start a new project, and I’m being asked which framework to use. I’ve spent time reviewing the options closely, and Yii seems like a top contender if not the winner.

Sorry, I’m a noob. However, I have gone through the tour, and I completed the video tutorial creating an overly simple and fairly useless demo site.

  1. Super impressed with Gii. I mean, seriously, it’s cooler then cool… and that’s pretty cool. B)

  2. Oops, this is where my questions start…

What’s next? I feel like I just got started becoming Yiis new best friend, and he left me with my hand in the air while he walks away and no high five. Totally dissed dude!

Hey… what do I do now? So I made a basic skeleton demo of a site, and I have no idea what the next step is. I’m having thoughts like, OK, what if I want to use pagination, where’s the helper/library class? or, what if I want to upload and resize to thumbnail on the way, where’s the helper/library class? What if I don’t want to use a template, do I have to, I don’t know? The list of common things one does when developing a website seems to be popping up in my head, and I’m not really seeing a lot of demonstrations as of yet, or tutorials to follow, that show what Yii can do. Certainly there’s more under the hood the what I’ve been show with Gii and some basic CRUD… I mean, right?

My guess is setting up the RBAC and then learn some more about extending Yii classes to get the desired functionality.


Extending Yii

But the best practice in my opinion is to just use it and learn it on the way, after all the best way of learning is doing it yourself.

That’s a common reaction when faced with something as awesome and complex as Yii. :lol:

The only way to overcome that initial ‘what now’? feeling after the initial rush of excitement is to actually start using it.

Choose a project, and make it happen.

A blog is a good choice.

If you have a concrete goal and a solid plan, then it’s just a matter of one step after the other. :)

The definitive Guide is definitively the next place to go, for an overview of lots of things.

Yii doesn’t seem complex, as much as it seems undocumented (to some degree anyway for someone new to it). I mean, zend is considered way more complex, but there is documentation out the yang. And codeigniter practically gives you examples for every scenario you’d face within reason, along with helper classes easily documented to find. Yii seems a bit cryptic at the moment, with class names that mean nothing to me

Also after reading the guide?

Browsing the wiki?

Asking specific questions?

Getting and reading the book about Yii?

IMO, Yii is adequately documented, compared to the competition.

You can’t really compare it to neither CI nor Zend.

You missed the wonderfull super responsive IRC :D

I have read through the website, and it appears to me that even really simple tasks that you would assume would have a class as part of Yii, actually requires the use of extensions that are simply community contributions with questionable support. It just seems so much easier when I view a website for codeigniter where I can easily see, if I want to work with email, there’s an email class with full examples, same with images, pagination, ftp, forms, etc. It comes from one source that’s supported for almost everything,

So do people simple setup the mvc skeleton, then hack as needed and drag random extensions and 3rd party classes into their projects to perform everything?

Well, you fail completely to see the point: Yii is small and flexible.

What do you mean by ‘hacking’ ?

Yii has a lot of extensions which are maintained and fairly high standard.

Compare that to CakePHP, which simply cannot beat Yii in that regard.

But, the choice is yours… ;)

I am using Yii because it doesn’t carry a lot of bloat.

Hi YiiGiiZii_imnop,

I have some experience with CI.

I admit that it’s very well documented for the beginners to start with. It was relatively easy and fun for me to construct the first few dozens of pages. But, you know, I was getting bored more and more as I went farther with CI. I had to repeat almost the same lengthy js codes for some simple ajax validation in each and every form, for example. And the lack of Active Record support in CI has become a real pain for me. In short, you have to repeat yourself in CI.

You should be aware that the initial easiness of CI has a cost. It’s easy to learn because it doesn’t provide you much.

As for extensions, Yii needs less third party extensions than CI to accomplish the same functionalities, IMHO.

For example, CI completely lacks the authentication/authorization mechanism while Yii has it in its core.

ok, maybe i’m not searching the resources correctly.

let’s say i’m going to do something really simple like form to email with smtp authentication… where do i find the email helper class that addresses this that’s part of Yii? Or image manipulation, like upload and resize to thumbnail?

Look in ‘download’ -> ‘extensions’.

There’s tons of image/thumbnail extensions and quite a few email extensions.

I’m using xupload and yiimail myself, but there’s others.

That’s exactly what I thought when I started, the recommended book ( is really really good at explaining a lot of what Yii can do, and how you’d use it in a live site. It takes you through creating an example application site and in doing that a lot of Yii becomes much more clearer. I couldn’t recommend the book enough for a Yii beginner.

That along with where you can look up pretty much every class with examples.

Good luck!

So extensions aren’t part of Yii, and so Yii’s class library (or called extensions with Yii) are all community contributions and not actually part of, or supported by, Yii itself right?

Understand that Yii is a framework - take a look at the API docs to get an overview of what’s available:


Peruse the features:


CI is not a framework, it’s more like a class library.

Yii is a complete framework, but it doesn’t try to do everything.

Specialty features like thumbnailing libs, email, etc is available as extensions (extensions/widgets/portlets…) - and is not part of official Yii.

I’ve used CakePHP before, and it has (or had) an email ‘component’, but people always use plugins for any serious emailing.

So what’s the use in shipping it?

i see. well for the framework itself and setting up the mvc skeleton i’ve never found anything as cool as yii. it’s so easy and quick.

i guess the extension thing confused me since most people call it a library, or helper classes, etc, and include it as part of the framework.

if extensions aren’t available, i guess you just have to make it yourself? can you include the zend library pretty easily or is it better to use the extensions?

Using Zend classes in Yii is pretty easy. I’m using Zend_Mail in about half of my projects.

thats good. i think it’s kind of disappointing to know that the framework doesnt easily address such basic tasks like that.

What basic tasks do you have in mind?

If it’s mail, then PHP has it built in already… No need to wrap that.

I really like that Yii is focused. ;)