Transition from Joomla/WP to Phalcon MVC

Hey guys,

My Joomla 3 website currently gets about 2000+ unique visitors everyday with over 50k users and server cost is hitting the roof although i'm making enough to pay for the server cost. However, I plan to build something better and found Phalcon.

I have never had any MVC experience and my coding is limited to html/css, javascript/jquery, little php/mysql. I've been working with Joomla and Wordpress for over 5 years now mainly due to the reason that its very easy to setup and get going.

My question being, how easy/difficult will it be to setup a website with user login/logout, user permission/role, profile system with make friends capability, job portal, discussion forum (sort of), events system, etc? Is there any template/module where i can just install and get things going or do i have to create everything from scratch?

Also, I heard i have to create both frontend and backend (for my team), is this correct? in Joomla/WP, there's a backend as well as frontend provided although i always end up playing with the codes to make changes to design or its functionality.

I'm so new to MVC frameworks although has heard a great deal about it. Kindly explain in as much detail as possible. I'm a real newbie.

Hi,

at first: don't hesitate, everyone has to begin somewhere. If you have some experience with php / mysql, then you should be able to learn an MVC framework as well. But first, let me explain some little things:

PHP is a programming language. MVC is a pattern, that means it is an adive on how to organize and structure code in order to better maintain and read this code. MVC is not limited on an programming language and can be implemented in nearly any programming language. Phalcon itself is an framework, which implements the MVC pattern in the programming language PHP. Wordpress and Joomla have nothing to do with this. These are "ready-to-use" software. The only common is that WP and Joomla are also written in PHP.

For further explaination: WP has its own "pattern" how to organize and structure the code, so WP does not use the MVC framework (as long as I know, it's been a while since I used WP).

So, if you want to move from WP to Phalcon, you have to do some things yourself, which are already available in Wordpress or Joomla. And yes, you have to implement things like authentication, access control list, etc. by yourself. And yes, you have to develop your own backend for your team.

Phalcon provides a sample app, which already implemented things like authentication, etc. pp. It's called "INVO" and you can find it here: http://invo.phalconphp.com/

Even the code is available, you will find it on GitHub: https://github.com/phalcon/invo

I cannot answer your questions if you really should change from WP to an MVC framework like phalcon. But I think this forum can help you, if you want to change and have questions implementing your application!

My personal advice: just try it out! Give yourself time (1 or 2 days) to try out the framework and implementing your idea. Then you will know what it's really take to develop the application and if it's the way you want move on.

Don't hesitate if you stuck or feel overwhelmed. There will be a lot you have to learn, but you can learn it. Just make small steps ;)

I hope this was helpful!

Regars, Martin

Also look at Vokuro

https://github.com/phalcon/vokuro

A CMS written in Phalcon is PhalconEye - worth looking into http://phalconeye.com/



29.7k
edited Jan '15

Hi,

my two cents:

One can find usefull to reuse some of his wordpress or joomla database tables, to do that, you can use devtools: a generator wich could be a good starting point for creating applications. Also, it allows you to create crud actions and models. Accessing database is done with an ORM or a query manager.

Remeber: using a mvc framework like phalcon means that you will not find ready to go components like Joomla provides (galleries, file repository and so on), you will have to code that by your own. For managing javascript inclusion, phalcon provides an excellent asset manager and for ajax response you can manage the view rendering level.

If you want to control access level, ACL and dispatcher will help you. invo application use ACL.

For performance you can cache db metadatas, db query result sets, any kind of php array or json strings or even view fragments with differents adapters.

Docs are pretty good, API is here, phalcon github provides a lot of applications example. I've tried many frameworks before and phalcon is definitively the best one ! (Didn't try the new Yii2 yet).

Learning curve Depends on your knowledge in php programming ...

Good luck and ...

Happy new year eveyone.

To answer your question - you'll have to build everything from scratch. Or at least - there is no Phalcon "module" for any of the stuff you asked about. I assume you asked because your current site has all that functionality.

If I were in your position, I wouldn't get my hopes up about building all that functionality myself. I don't mean to dissuad or discourage you - but from the sounds of it your server-side programming experience is pretty limited. Building all that functionality will take quite a bit of work and learning on your part. It is absolutely 100% possible to do, but it's not as simple as migrating from Joomla to Wordpress.

Wow.. thank you so much guys :)

Yes, i'll have to start from somewhere and feel phalcon is where i'll begin with. Really appreciate the input from all of you :)