Drupal as a CMS and CodeIgniter as a framework? - php

Is it possible to create a web application using Drupal as a CMS and CodeIgniter as a framework?

Drupal does not really need something like CI and vice versa. If you are building a web application in Drupal and you really feel the need to have something like CI, then you should simply write your entire application in CI.
Drupal is somewhat of a prebuild house for a web application. You install it, already have everything in place like a backend, caching, login-mechanism, etc. Next you add some modules, customize a theme and done. Just like decorating your living room or building an extra garage.
CI is more of a solid foundation to build a house on. It has some functionality but you need to write your own functionality if you want everything you need. You need to build walls and all that stuff but in the end you have had 100% control over just about anything.
I don't see the point of having 2 bases for a web applications. Just makes things more complicated imho. Just pick Drupal if you want a more extended base than just a framework. Or pick CI if you want to build everything up from "just a framework".

First decide whether you want to build a CMS or not.
If you want to build a CMS then you can choose Drupal or Expression Engine or any other CMS frameworks like Joomla. The advantage of using Expression Engine is it is built on top of Codeigniter and you can add custom modules using Codeigniter/php style of coding.
If you don't want to build a CMS, then since you are familiar with Codeigniter, build a web application using only Codeigniter

Related

Silverstripe framework and cms used together and separately

Why would one build off with just the Silverstripe Framework only and not use the CMS and vice versa. For instance routing and menus can be handled with the cms included or not.
You can use the framework without using the CMS fine. The CMS without the framework however, is not possible.
There are cases, where you would have enough with just the framework, when you're building a backend application for a mobile app for example and all it has to do is provide data to that app. No need for the CMS in that case.

How can I use both Laravel and Drupal in my website?

I have a website build in Drupal 7. Due to complexity of some pages I want to build those pages in framework like Laravel!
Can I do that?
I want to keep user login and some node functionality of Drupal and will use Drupal's db!
You can but you shouldn't. The Drupal and Laravel are both back-end frameworks. By keeping some part of Drupal and another from Laravel will create problems for you later if not now. Just for example, you will have to sync session management of both systems to keep things synced!
Rather, I would suggest you go for some Front-End frameworks like BackBone, Angular etc. It'll effectively work with Drupal, as Drupal provides the REST API support.

How would I use the Joomla Framework vs. creating Joomla extensions?

I have experience with Joomla and have modified and wrote some simple Joomla extensions. I don't have experience using one of the popular PHP frameworks (such as CakePHP), but I was thinking about using the Joomla framework because I'm familiar with Joomla. How would I use the Joomla framework for a software project instead of using regular Joomla and writing the extensions needed for it to extend it's capabilities? Thanks!
The basic idea is that you:
Get a copy of either the whole framework or just the packages you need+dependencies (from github or composer) or use the older copy that is shipped with the CMS,
Bootstrap your application (JApplicationWeb or JApplicationCli).
Write your code using the MVC structure provided.
The big difference with writing a totally independent application is that you are doing just that, you need to build everything in the application whereas in the CMS there are already a lot of things in place. (The good part of that is that you can make new code with no legacy concerns.) For example, if you look at the JIssues project you'll see that they had to think about things like authentication. So as you would expect writing a simple application is simple, writing a complex one is complex.
You can see many examples of framework applications around, ranging from the ones found in the CLI folder of your CMS installation to JIssues, and of course the three web applications in the CMS are all examples of applications on the framework.
The Joomla Framework is intended (among other things) to be the platform upon which you can build a web-application. The framework is like the frame of one of those motorcycles they build on "American Choppers." It provides the backdrop so that you can hit the ground thinking about your app without worrying about User Authentication, database connection, and a thousand other things like those that get in the way of bringing your app to its potential audience.
If you're trying to extend Joomla, the current edition is what you should be using.

How can I setup Yii Boilerplate?

I have seen lots of pages about Yii Boilerplate setup like: http://www.yiiframework.com/wiki/374/yiiboilerplate-setup-a-professional-project-structure-in-seconds/.
Is there any step by step instruction about creating a new basic YiiBoilerPlate app or maybe I am totally wrong about it!?!?!
Just build your app to fit your needs remembering to keep project specific files in separate folders, separate from base application components, like common extensions. I highly recommend using modules. You can have for example user management module with login, logout, profile etc. functionality, and depending on concrete project requirements just drop in more modules.
Mentioned boilerplate is more complex than standard Yii setup. There is one thing i really dont like, is that mudules are in both frontend and backend, and according to yii philosofy, module should be like mini application, so from this boilerplate seems that one should build separate mini apps for frontend and backend... But it is just a taste what you feel better.
If you are new i recommend standard setup, but using modules from beginning. Modules are something like mini app, which can operate on it's own. This way you can build your portfolio of modules, and then when doing some new project you can compose it much quicker and sturdier. A bit more tricki might be interoperability between modules, but thats a whole different story.
You should refer following article.
http://myprogrammingtut.blogspot.in/2013/04/step-by-step-setup-yiiboilerplate.html
which worked for me :)
Hope it'll help you.

PHP CMS components

I am exploring how CMS's in PHP work. I am talking about full-powered, fully developed CMS's like Drupal, Wordpress, and Joomla. What are the main components and systems that are incorporated into something like this.
For example; I know you will need a page loader to handle all page requests (direct all requests to index.php using the .htaccess file), you will need a database class, a templating class, and a hook system to provide user extendability. What else am I missing?
(Also, is there a book that explains the working components of a full-fledged CMS?)
I'd second starting with something like Wordpress (not a real CMS I know) to get a feel for the sort of things you want your one to do. From there you could move up to Drupal or if you still feel the need to, look into building one in a framework (Codeigniter is a good one to start with).
Personally after a few years of rebuilding a CMS for each client I wish I'd got into Drupal quicker.
Google MVC in PHP. There are plenty of frameworks off which to build such a tool. Although, I beg to differ on Wordpress. Wordpress is a blogging system, not what I would call a "fully-fleged" CMS.
I found this book.
And I would strongly recommend this book on building a CMS with the Zend Framework.
Another solid CMS to consider is Concrete5.
Just a quick shoutout for ez Publish. It is a rock solid PHP based CMS, some of the best code i've seen.

Categories