Isosceles is an object-oriented, PHP5 web application starter kit based on ThinkUp's underpinnings. Isosceles provides a simple MVC framework, database agnosticism, caching, dynamic class loading, single-file configuration, URL routing and common actions like user signup, sign-in, and logging.
Isosceles' name refers to the architecture of New York City's One World Trade Center.
Isosceles is the PHP framework that runs ThinkUp, extracted and abstracted for reuse. It is nowhere near done. Its current feature set includes:
- Model View Controller framework, using Smarty for the view
- Data Access Object-based data layer using PDO
- Dynamic configuration through single config file
- Caching to disk (via Smarty)
- URL routing
- A simple database query profiler
- Test suite using PHPUnit with Travis CI hooks
Isosceles' source code is licensed under the GNU General Public License.
Develop Locally via Vagrant Virtual Machine
Set up Development Environment
Clone the repository:
$ git clone email@example.com:ginatrapani/isosceles.git $ cd isosceles
Spin up virtual machine: (first run takes awhile)
$ vagrant up
There is no step 3.
See Isosceles example web app in your browser:
Note: If isosceles.dev doesn't resolve, make sure the following line is in your host computer's /etc/hosts file:
192.168.56.101 default isosceles.dev www.isosceles.dev
Use the code editor and git client of your choice on your host machine. Edit files in the isosceles directory.
SSH in and run the tests
[host] $ vagrant ssh [guest] $ cd /var/www/; sudo phpunit tests
Adminer database admin:
- isosceles / nice2bnice
Destroy virtual machine:
$ vagrant destroy
Note: This does not delete setup files or the contents of the default directory.
vagrant destroy then
vagrant up again and keep getting authentication failures, run:
$ rm puphpet/files/dot/ssh/id_rsa