any experience with using AngularJS with the Yii Framework (best would be version 2)? I am searching for some plugin or similar which would help me easily integrate AngularJS into Yii to work nicely together.
Is it easily possible, or is it too much overhead to use it?
Thanks
Well, google haven't mentioned any noticable plugin or library for that, and imo it's kind of overkill. But if you still want to have a try (dear lord have mercy) - you should make it two differnet applications connected only by REST Api implemented with Yii.
Related
I'm trying to start a new project, and was looking for the "ultimate" package to kick-start off with for PHP/MySQL/HTML5 development. Tried CodeIgniter first, which was great. Then discovered Twitter Bootstrap, and integrated that in nicely. Finally, found HTML5 Boilerplate, which looked awesome, and saw that some people were putting together mixes of these three.
Was wondering if anyone has actually been able to put together and run an integration of all three well? I see there's a github repo for this: https://github.com/vesparny/codeigniter-html5boilerplate-twitter-bootstrap, but I couldn't find any StackOverflow inquiries on it. Anyone have some experience they could share before I jump in? Didn't want to spend days trying to figure it out, just to find out it would've been easier/better to just stick with pure CodeIgniter or just HTML5BP.
i'm the author of that library you've looking into. https://github.com/vesparny/codeigniter-html5boilerplate-twitter-bootstrap
Tw bootstrap and H5BP can be simply mixed together as you can see in my code;
Codeigniter is a great framework but lacks in view organization imho.
With this library you can take advantage of the best client side tools, and the most famous and simple php framework with some enhancement that would speed up and better organize your code and approach to code with codeigniter.
Seems like not many people try this I guess, but it DOES work, and it works fine as far as I can tell.
CodeIgniter works well as the php framework, and you can integrate the HTML5 BP to render your pages in a HTML5-friendly way, with a few javascript libraries like Initialzr's modernizer to help with loading resources. CodeIgniter is pretty fast, and there is pretty much zero conflict when combining CI with HTML5 BP, making it a pretty quick and painless addition.
Twitter Bootstrap works fine as well, since it's mainly CSS and javascript plugins for components, which you can merge with HTML5's plugins.js file if you want / need it. I'd say that after playing with this, Twitter Bootstrap isn't really necessary, but it does help you put together a responsive front-end pretty quickly. Not sure if there are other packages out there that might be better.
How do you want to run an installation of css and javascript file?
Take HTML5 Boilerplate and Twitter bootstrap files and copy them into your website root directory (directory where is your Codeigniter application folder located).
Now you can use them as any other javascript/html/css libraries and frameworks.
And I still don't know why are you trying to use Twitter Bootstrap with HTML5 Boilerplate. I am not using any of these but they look similar. It looks like a little overhead for your website.
I just want to ask, does it make sense to use both a PHP backend MVC structure, mixed with a front end js MVC structure?
My question arises from building a web application in CodeIgniter, I've begun working with websockets and nodejs so a lot of my interactions to the front end don't even touch php. Currently though the only way to change content in my database is to go through CI via ajax calls.
Is there any advice and how to create and maintain both MVC structures? or should this be avoided.
As you already said: CodeIgniter is a MVC framework. As you're using BackboneJS you won't need the VIEW-part of CI and the MODEL-part won't be needed that much.
You could use CodeIgniter as a simple API backend that handles as a middleman between your frontend and the database (there are very good xmlrpc libraries for CI out there!) or you could go for a REST-specific framework like Recess (http://www.recessframework.org/), try this: https://stackoverflow.com/questions/238125/best-framework-for-php-and-creation-of-restful-based-web-services
Short answer: your php-backend would just serve as a API-provider which is used by BackboneJS, so you could use any framework as long as it fits your needs - and CodeIgniter seems to do that.
Tip: you can just delete the libraries and helpers from CodeIgniter that you won't need for you API.
I'm embarking on a very big exercise to build a CMS in php. It's actually my attempt to learn PHP in a fun (and hardcore) way coming from a Java background. Java is all object oriented so oop is in my blood, but I'm finding that OOP hasn't made it yet to PHP. Most PHP is still being written today the old way without the new concepts.
I'm trying to find an example PHP CMS that's written as object oriented. I hear Xoops is. Any others you know of? or any OOP libraries in general that you know of that could help me in a CMS project.
I would suggest symfony framework as it is well documented and functional framework that helped building many web applications.
http://www.symfony-project.org/
PHP5 is pretty OOP. Look for CMSes and frameworks that only work on PHP5. For example, Kohana
Concrete5 is a pretty complex OOP based CMS. Might be a harsh start but I've learned a lot by working with it.
again, +1 for symfony, but this is a large project and getting to know symfony will consume most of your time, yet if you want to dive in, its documentation is really great.
since you are trying to build your own CMS, get started with easy to grasp frameworks and build upon them. Don't waste your time on everything that has been already done. I recommend you Codeigniter MVC Framework http://codeigniter.com and for CMS, PyroCMS http://pyrocms.com which is built upon codeigniter is cool. Codeigniter is really easy to get along, and documentation is very neat and clean.
Further, if you like to start with a simple php framework, here's what Tyrehall has done, http://github.com/tylerhall/simple-php-framework . This project can act as a base for your CMS
No one seems to have mentioned Kohana the PHP 5 only framework.
Kohana has a pretty active and very helpful community to back it up (#kohana on freenode in particular).
edit: Upon closer inspection I see someone has already mentioned Kohana.
what you will notice is that what is more important to most cms (and framework) developers is MVC pattern implementation. Most MVC implementations in php do in fact use oop practices (some stricter than others)
+1 for symfony, and another I'd like to recommend is Kohana (built on CodeIgniter)
Also have a look at their forums, as both already have a cms or 10 built using these frameworks.
Using these frameworks brings you about 60% there, as a lot of the rudimentary tasks are taken care of.
edit
also remebered this one: fatfree framework it's quite lightweight: http://fatfree.sourceforge.net/
Have a look at Phundament 3.
Phundament 3 is an application foundation built upon a set if independent Yii modules and extensions such as user, rights, yiiext, gtc, ckeditor, jquery-file-upload, p3widgets and p3media.
The combination of p3widgets and p3media provides basic content management system (CMS) features, like dynamic widget creation and file management.
Combined in ckeditor, p3media acts as a ckfinder plugin which gives you the full power of HTML and media files for content creation via p3widgets.
It comes with a very minimalistic setup which integrates perfectly into an Yii web application skeletion and installs with one single command.
as some folks suggested here, you should start with Codeigniter because it's really easy to dive in. Its documentation is very well structured and easy to read. But I think Codeigniter seems to be very old now.
What I really recommend to you is Laravel. There's another Framework you should look into, that's FuelPHP. But for me, Laravel has absolutely changed to way I'm writing my PHP code. It is the best framework I've ever seen in my life. It's so elegant that you will instantly fall in love with.
If Laravel suits you, I recommend you to follow this online course by Jeffrey Way # Tutsplus.com. You will love it!
Good luck :)
Have you seen CakePHP?
http://cakephp.org/
Its a MVC framework for PHP. Its pretty robust and can be used in a fully object oriented manner.
I have been tasked with building a simple web based system for managing a list of vehicles.
I am interested to know whether there are any robust, clean PHP 5 frameworks / libraries that are specialized in doing this quickly.
They should be able to quickly build a skeleton web back-end to an arbitrary data structure with the basic functions:
Customizable list view
Customizable edit form
create/update/delete operations
Nice to haves:
Multi-user interface
ACL based rights system
Localization
Image / File upload built in
Wet dreams:
A skeleton CRUD API to manage items programmatically
A skeleton RSS feed to inform about new items
I am aware most big frameworks provide tools and helpers for this, but would prefer a standalone, light-weight solution that is easy to get into.
Alternatively, is there a great PHP application that you would recommend looking into to modify to suit my needs?
As far as building skeleton apps goes, nothing comes close to the Yii framework.
From the site:
MVC, DAO/ActiveRecord, I18N/L10N,
caching, jQuery-based AJAX support,
authentication and role-based access
control, scaffolding, input
validation, widgets, events, theming,
Web services, and so on. Written in
strict OOP, Yii is easy to use and is
extremely flexible and extensible.
It also includes CRUD code generation. Headed by the guy who did Prado.
If you don't want a big framework, you could check out phpactiverecord
I would recommend CakePHP
I've seen awesome demos of the instant blog in Rails and Django and Symfony.
Looking at Zend, Cake, Symfony, Symfony seems the most like Rails/Django. Check out the 10 minute (yeah, super sped up!) demo. It's pretty sweet:
http://www.symfony-project.org/screencast/cart
My experience tells me that there's no framework, lightweight or otherwise that you can easily do what you want quickly if you don't know it. So that's where the tutorials come in. You really need a nice ORM to avoid all that mess with the DB and or reinventing that with a CMS. So the best bet is to choose the one with the best docs, the best tutorial + screencast, in the language you know that gets you closest to your requirements by just changing the names of the variables. I know Django can do all that you're asking with Django 1.2, but with PHP 5 being the requirement, Symfony and it's ORM is my first suggestion.
Yii looks like something I'll be taking a look at right now! Yii-Haaw!
Here's Yii's screencast of blog making: http://www.yiiframework.com/screencast/blog/
Not bad so far! But it's quite a learning curve to get the blog working. Very similar to Rails.
The best i have seen around in years http://www.grocerycrud.com/ its for codeigniter
Sapphire has a lot of promise. I have used the CMS built on it - SilverStripe - for a few projects and it's very nice. But I haven't dug into the back-end too much.
From the website:
Our Object-Relational Mapper takes
care of your data. Define your data
model using our simple PHP5 syntax
and our ORM does the rest.
Tell
Sapphire about your data model, and
you get 3 interfaces for free. A
RESTful API, a SOAP API, and an admin
editing interface.
It's not exactly lightweight, but its core is ~1.3 MB but meets a lot of your "nice to haves"
There are several PHP frameworks that meet your requirements (basic requirements). You should use a framework that you are most familiar. If you do not familiar with any framework, I suggest you to use the CodeIgniter.
I've been looking for a drop-in admin panel like this too, so far I've 2:
AjaxCrud - http://ajaxcrud.com/
Peek from Code Canyon - http://bit.ly/toKKrB
Love to hear any other suggestions!
I am going to be builiding a site like ebay - with all the features of ebay. Please note my payment method is limited to paypal.
What would be the best PHP framework
to use to build this quickly,
efficiently and with the smallest
learning curve?
I have narrowed down to CodeIgniter as the major contender for this project - but having looked through the docs I couldn't find a library or class that I can use with paypal - is the same for all frameworks- surley not?
Zend framework - I considered this but although its documentation is very good, hardly any video tutorials - other frameworks seem to have lots of these especially with normal developers creating screencasts - where is the Zend community!
CakePHP - Having read the stackoverflow threads, I gathered this is a slow framework, giving developers little control as it seems to be a CMS backbone rather than a framework - agree? It was also said cakePHP and Zend have a steeper learning curve than CodeIgnitor.
I have start my short-listing again and I would appreciate any help with this.
Thanks all
You'll very likely find CodeIgniter to have the lowest learning curve. Regardless of the framework you choose, you'll have to pick up where the framework leaves off, and that is going to mean a significant amount of work on your part (if you truly want to implement all the features of ebay). There seems to be a PayPal lib in the CodeIgniter Wiki. Looks like it would be a great place to start.
Cake is not a CMS backbone, it's a framework like the others. It's just more opinionated, i.e. geared towards CRUD operations (create, read, update, delete, what you typically do in a CMS). If your application is focused on CRUD, Cake will give your development a kickstart; you can get a complete admin interface for your database tables up in, literally, minutes.
Thanks to that it may be a little slower, especially compared to "loose" frameworks like Zend, but in the end it won't matter much. You can do anything with any of these frameworks and any of these frameworks can be optimized to run as fast as possible. Try to get a simple prototype app up and running in all of them and choose the one that seems most comfortable to you.
I'd really recommend Codeigniter for speed. I've made a few things with it and it was great.
If you need some help learning Codeigniter Nettuts has been doing some really good screencasts
In the end, it won't matter. Your code for database and presentation will trump any 'problems' your framework has. The frameworks you listed are awefully similar. You'll be more or less stuck with which you pick, so pick one and learn all you can.
If you're going with codeigniter (note, maybe take a look at Kohana too, the php5 fork of CI), you can always use libs out of Zend if theres something that fits your needs.