/PHP-MVC-Blog-System

:fire: Simple PHP blog system application based on the MVC pattern and written in PHP 5.5. This project can be used as a Base MVC "framework" to start your PHP project easily under good development patterns and good development practice and organization.

Primary LanguagePHPGNU Lesser General Public License v3.0LGPL-3.0

Simple PHP MVC Blog System

Description

This PHP Blog System has an MVC pattern, uses Traits (PHP 5.4), Namespace (PHP 5.3), Singleton pattern, PDO (PHP 5.1) and the new PHP Password Hashing feature (PHP 5.5).

The project was a PHP Challenge Project I have done.

Why this MVC Blog System can be very Useful for You?

If you need to code a simple website under a Professional and very nice/clean code (as I really enjoy doing), this script will be very useful in order to start on good basis and save time and money.

However, if you need to build a blog system, again this project can be used as a framework to start your project easily under a good development pattern and good development practice and organization.

Requirements that were Requested for the Project

Requirements

  • The project should be written in object-oriented PHP targeting version 5.5 or higher
  • It should be all self-written, no existing frameworks or libraries
  • It should have good security (e.g., hashed passwords, protect against SQL injection, shouldn't have any error when we try to change URL query strings or to hack it, etc)
  • Should use a MySQL database to store admin account and article data

Specification

Build a simple blog with the following functionalities

The Frontend

  • List of blog articles showing the title, body truncated to 100 characters, and date. It should show only the latest 5 articles
  • Single blog article showing the title, full body, and the date

The Backend

  • List of all the blog articles
  • Possibility to add a new blog article with a title and body. The title should allow a maximum of 50 characters
  • Possibility to edit an existing blog article
  • Possibility to delete an article
  • Logout feature for the admin user

HTML and CSS code should be kept to the minimum needed to make the website functional – This project is purely to assess how you approach the problem and not how good it looks.

Server Requirements of the Web App

  • Application Server PHP 5.5.0 or higher.

  • PHP Extension mbstring

  • Database MySQL/MariaDB 5 or higher.

The Author

Pierre-Henry Soria

Contact the Author

By email at: phy [AT] hizup [D0T] uk

License

This blog system (PHP script) is under Lesser General Public License (LGPL); See the LICENSE.txt file for more information.