Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I am teaching myself web development, and right now I'm using HTML/CSS/PHP, but I am having difficulty understanding how the code for sites should be structured to avoid lots of repeat code and things like that.
I was wondering if there were some slightly complex websites that were open source, so I could view all the code (including the php) to see how things are actually done so I can create websites properly by example of these opensource sites.
If you're considering to use MVC paradigm, I would suggest you to study how a web framework is designed and implemented (such as symfony, codeigniter, yii, ror or zend), in order to learn how a big web app is structured (requests, security, cache, logins, database, forms, etc...) and then try to design and build your own one.
This will teach you a lot of valuable concepts such as:
How MVC works (Controller->Model->View)
Application Bootstrap (Single Entry Point)
Directory Structures
Database Access Layers (ORM, DAO, Abstract Factory)
Session Handling
Form creation (forms, decorators, validators)
Cache implementations and benefits
Helpers
Routing (friendly url's)
If you design your own framework propperly you'll have a base structure for all your web apps, and a lot of classes for common functionalities ready to use on your site (login, forms, html, etcetera).
You don't have to implement everything, you can use some libraries for the most complex tasks. Such as Propel or Doctrine for the ORM, or APC for the cache system, or PDO for database access, or apache mod_rewrite for rewriting urls.
I did this and learnt a lot about how to make decent web app.
SourceForge is a website that lists millions of open-source projects free for you to use and download.
Look at Q&A system OSQA.net, it's similar to StackExchange QA sites, but opensource
StackOverflow (StackExchange powered QA system) is not opensource itself, info here:
https://meta.stackexchange.com/questions/14656/is-the-stack-overflow-source-code-available
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 months ago.
Improve this question
I am about to start to developing backend site of a php project. Companies and site admins will login to this site and manage their data on the project.
My previous admin panel experiences were full of agony and pain. So I want to make sure that I choose correct tools for my purpose.
By the way, please note, I'm not looking for scaffolding. There won't be much tables in my database. Instead, there will be complex logic between entities.
I want clear seperation of markup and logic code and easy-to-use and standardized user-interface.
Thank you.
Edit:
I understand this is very subjective. This is why I call it suggestion. I want to try a few of chunks of code before going along with one of them.
There is no perfect answer for this, it depends a lot of your (and your team) programming experience and your project's requirements.
As it talks about PHP and backoffice, I suggest you look at symfony framework. It's a RAD framework with great admin features and tons of plugins easing backpanel developement.
I understand you don't want scaffolding, in symfony you can choose to use a very customizable admin generator or build your own forms/listings (or mix between both, using generated as a good code base and extending it).
It comes with a great separation of concerns as it uses MVC paradigm, but aside from MVC it has form management sub-framework which can help a lot developing backoffice.
Be careful if you're not familiar with PHP5 OOP and MVC it could be little complex to learn and understand, but if your planning could allow you to have time to learn symfony programming, it's an experience I would recommand to every PHP developer.
This framework is very well documented, and as an introduction tutorial they offer a class around a website example with its backend application.
Of course, this is subjective and others would perhaps recommend you other choices.
Only recently went through a couple of frameworks about a month ago for a site I was working on and found CodeIgniter was easiest to get up and running and had the best documentation and tutorials.
http://codeigniter.com/
Alternatives are symphony, cakePHP and Kohona
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
there are plenty of frameworks for coding MVC web applications.
this time im going to code a library (think of Doctrine or Solr) with a bunch of class files. u just include a bootstrap or a class file and you are ready to use my classes.
i have never tried to code a library before and intend to code one for learning purpose so that i can use various design patterns i have learned.
are there any great frameworks for this, how i should organize the different class files, where i can put configuration files and so on?
tutorials or other information would be great too.
thanks
UPDATE: its just in general, not something specific. im wondering if there is a "pattern" just like for web applications (MVC): should it be one file he includes and that file will include all other class files? should it be a class file he includes or a so called bootstrap file? in short, i need to know how to code a library so every developer could use it the open source way
Library code covers so many diverse areas that it's hard to imagine a general framework for library development.
Generally speaking, you should strive to create a library that is (among other things):
Consistent - Your library's API should be as consistent as possible. For example: do you pass standard argument lists to constructors, or a single $config array containing name/value pairs? If you favor factory methods, implement them consistently across the whole library.
Efficient - avoid loading classes that aren't needed. Figure out how to manage dependencies - don't just load every class from some central bootstrap script. Consider a directory structure like that used by PEAR or Zend Framework. This can help you integrate with various autoloaders that your users may already be using.
Testable - a library with good tests that cover it is more valuable than one without.
Documented - Get cozy with PHPDocumentor, and be prepared to write additional documentation that is heavy on example client code.
There are no general library frameworks. You will find plugin APIs, or similar, if you are developing for other software. In that case, use them. Otherwise, there are no assumptions to be made on how a library should work and therefore no framework, other than a programming language, to house it.
All libraries tend to have a bootstrap though that include all other essential files. Additional classes and files might be loaded through a registered autoloader.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
A client is looking for a custom web application, which will eventually include lots of interconnected components, but the main features are:
Subscription based membership as well as virtual/digital product sales
Members have their own public web cookie-cutter directories (e.g., storefronts, pages, etc.) and personal member admin area.
Site administrators will need both common tools (member admin, password changes, etc.) and custom tools that can be readily developed or integrated with 3rd party solutions.
What frameworks should we be looking at? PHP/MySQL is preferable unless something really outstanding is available in another stack.
The current Next Big Thing is Magento:
Magento is the eCommerce software platform for growth that promises to revolutionize the industry. Its modular architecture and unprecedented flexibility means your business is no longer constrained by your eCommerce platform. Magento is total control.
It is open-source and based on Zend Framework, although there is no much left of that (or so I hear). It can be customized to fit almost any needs and comes with an impressive feature set. Not sure from your question how much you are going to need from this. Might be overkill though.
Magento has a Community Edition and a (pretty costly) Enterprise Edition. There is also an active community around it, providing extensions to it: Themes, Payment Gateways, etc.
EDIT While not a generic Framework like CI, Cake or Symfony, it is an eCommerce framework and since your requirements are aimed at and the question tagged with ecommerce, it might fit your needs.
Take a look here for some of the more popular PHP frameworks: http://www.phpframeworks.com/
These typically give you a lot of tools but allow for a lot of flexibility.
Some CMS-like frameworks such as as Drupal may be able to satisfy your requirements as well. They will be less flexible, but may be a better option if modules exist for your use cases.
No silver bullet, just lots of options.
I personally can recommend Django and from other people who I trust, Rails. I left PHP frameworks behind. Zend doesn't have an ORM - which is crazy these days.
CakePHP seemed to be the best PHP Framework when I last looked, but it's on PHP, which is just not as efficient to code for medium+ projects.
Django has a ready to go admin as well which is amazing. Just define your models and the admin pages are ready to go. The tutorial is worth doing just so you see how other people are doing things - only takes a day. Documentation is great too.
One final recommendation - use Ubuntu - regardless of the framework.
CakePHP, Zend and symfony are the big ones. They all employ MVC and are in use in many production sites.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm looking for a content management system (CMS) written in PHP for a large and diverse website. Here's what I'm looking for:
Design flexibility -- The look and feel needs to be completely customizable. Specific pages may need to have design elements
Modular design -- I want to be able to add features myself if they're needed.
Production ready
Advanced user permissions
MySQL or Oracle
What I can sacrifice:
Steep learning curve -- I am experienced PHP and RoR developer. I'm alright with needing to take a few days/weeks to learn it.
Performance -- we don't get much traffic.
SEO -- This is on a local intranet, no need for SEO. Pretty URLs are nice, but not required.
If there isn't a CMS that meets these needs, my last option would be to build one from scratch using Kohana 3.0, which I'm already using on a daily basis.
Background: At my place of work we're looking to redesign/develop our existing website hosted on a local network. This site consists of somewhere between 600-1,000 static HTML pages, many of which contain varying design elements (like jQuery tabs). Though the site is pretty big, we probably only get around 100 hits per day. There will be customers (no coding experience) and fellow web-developers modifying the content on these pages.
http://modxcms.com/ -> modx modx modx an etomite fork
Modx's REVO release is OOP, but might not be release ready, but the EVO release is tested and true :)
it's great for modular design, design flexibility and above all extensibility.
Especially given that you are willing to go through a bit of a steeper learning curve, with some php knowledge you'll be able to get a lot out of modx. Using the "usual suspects" can be limiting in the areas of extensibility, where though it is possible, but everything can feel like a hack.
I would say the usual suspects Joomla and Drupal. Added benefit of huge communities.
I have had good experience with Etomite
It allows you to plug-in PHP code easily, it has nice template structure as well as static (Chunks) and dynamic (Snippets) modules that can easily be added to any page or template. I also found it had a good security structure. It probably does not have such a large community but the support forums are sufficiently active.
Using Joomla and TomatoCMS is so good, MVC structure
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I’m looking for a CMS based on CodeIgniter. Can you suggest what CMS I could use?
I want to learn how to build a CodeIgniter application based using a CMS as a reference.
PyroCMS have a good set of features, and modular design so you can use it as a base to develop a website. The code is in github, so you can download the latest version from it directly with ease, if you have git installed.
The creator of this CMS, Phil Sturgeon is also a member here, so you can put your question about this CMS here, and hopefully he can respond it directly.
You should all check Ionize CodeIgniter CMS
FuelCMS is the new kid on the block
ExpressionEngine 2 - costs, but is clearly the best.
PyroCMS - free and although looks ugly as sin, the v0.9.8-dev branch is very promising. Does lots more than just blogging.
DBlog - just blogging, but does it well.
You can check out Bonfire.
It is not a CMS, but a starting point for new projects build with CodeIgniter that require ready-made tools like:
User Management with Role-Based Access Control
Fully Modular codebase built around HMVC
Powerful, parent/child capable theme engine
FuelCMS comes with a decent UserGuide. have a look at the documentation for module creation. Design is very clean and takes a little time to understand the source. I've used PyroCMS as well. Its powerful yet documentation is poor(Phil Sturgeon plz make a better documentation). So FuelCMS is my pick.
Codefight CMS is based on codeigniter as well.
For free solutions, there are most probably better options available if you look beside just the Codeigniter ones. However, building sites on top of CMS's are in most cases very limiting. (Solely depending on the demanded level of the site of course.)
Take a look at this template library: https://github.com/bcit-ci/CodeIgniter/wiki/Simple-Template-Library/
Together with the active record class that codeigniter offers, you will be up and developing sites in no time at all. Without any boundaries of course!
MaxSite CMS is based on CodeIgniter. http://max-3000.com/
check ci cms, http://code.google.com/p/ci-cms/
I liked some parts of it, like modular seperation, install/uninstall for modules, themes and pretty url(seo) hyphens for the post urls.
Open Source CMS:
No CMS
CMS Canvas
Image CMS