/phang

PHP + AngularJS Boilerplate

Primary LanguageHTMLMIT LicenseMIT

PHANG 0.5.1


0.5.0:
Major updates to Angular - moves to latest ngbp - Bootstrap 3, AngularJS ~1.2
0.4.0:
Major updates to PHP:

Moves from Silex 1.* to 2.*

Moves from simple Silex routing to Symfony controller/routing system
Updates to latest versions of Symfony components
0.3.0:
Adds Angular Resource
Updates Angular UI Router from 0.0.1 to 0.2.10
Updates Angular Bootstrap from 0.3.0 to 0.8.0


0.2.0: PHP Unit Tests added for Base.php class

Example at phang.erikaugust.com

What is heck is Phang?
Phang is a complete web application boilerplate.It combines the Silex PHP framework with the AngularJS JavaScript framework. Back-end concerns are handled by PHP and AngularJS handles front-end.

Why the name Phang?
Two reasons:
1. PHP + Angular = PH-Ang.
2. In earlier versions, the AngularJS interpolateProvider was changed to "{v{ }v}". They look like fangs. Since 0.2.0 has moved into the Single Page Application (SPA) format, using AngularJS for routing.

Who is the intended user?
Developers who would like to use their knowledge and freedom of creating their models/classes in PHP, but want to also quickly create RESTful APIs and a front-end application framework to connect to it.

Why should I try out Phang?
Phang gives you a flexible and organized way to create web applications front to back. Also, under development is the Phang command line utility which emulates some of the generator and utility functions of Ruby on Rails.

What are the requirements

PHP: 5.3.3+. Node.js must also be installed on your system.

<pTools/libraries used or included:

PHP:
Framework: Silex
Database Provider: PDO
Caching Providers: Memcache, Memcache-Silex
Email: swiftmailer
Package Management: Composer
Templating Engine: Twig
Session Handling: Symfony2 Session
HTTP: Symfony2 Foundation
Unit Testing: PHPUnit


AngularJS:
Phang uses the fantastic ng-boilerplate for organization and tooling:
Framework: AngularJS
Package Management: npm, bower
Unit Testing: Karma
Task Running: Grunt

Quick start guide

PHP

1. Clone into the desired directory

git clone https://github.com/ErikAugust/phang.git

  1. Update composer

cd php

php composer.phar self-update

  1. Delete outdated vendor files

rm -rf vendor/

  1. Update composer to create new vendor files

php composer.phar update

  1. Set your default database credentials

vi config/database.ini

  1. Create a session folder

mkdir session/

  1. Point your browser to the /test endpoint. You should see Hello world! (http://phang.erikaugust.com/test). Now point your browser to the index. You will see something like this: http://phang.erikaugust.com. All set!

AngularJS

1. Move to the angular directory

cd ..

cd angular

  1. Install Grunt-CLI, Karma and Bower

sudo npm -g install grunt-cli karma bower

npm install

bower install

  1. Run Grunt

grunt watch