DooPHP - The fastest MVC based PHP framework http://doophp.com/blog Blog of a high performance MVC based PHP framework 2009-12-05 11:23:37 http://doophp.com/ en daily 1 http://www.doophp.com/images/logorss.png DooPHP http://www.doophp.com/ Logging Tools in DooPHP http://www.doophp.com/blog/article/logging-tools-tutorial http://www.doophp.com/blog/article/logging-tools-tutorial#comments Sat, 05 Dec 2009 11:23:37 +0800 darkredz http://www.doophp.com/blog/article/logging-tools-tutorial Since the initial version of DooPHP, there's some handy tools for developers to do logging and profiling their applications though not many know much about this feature. Here's a new tutorial to help you get started with DooLog and the Flex based log viewer tool. Hopefully it will help you in monitoring your application logs.

Read more this tutorial at the Learning blog.

DooPHP diagnostic view
]]>
Since the initial version of DooPHP, there's some handy tools for developers to do logging and profiling their applications though not many know much about this feature. Here's a new tutorial to help you get started with DooLog and the Flex based log viewer tool. Hopefully it will help you in monitoring your application logs.

Read more this tutorial at the Learning blog.

DooPHP diagnostic view
]]>
http://www.doophp.com/blog/article/logging-tools-tutorial/comments.rss 0
DooPHP Diagnostic View http://www.doophp.com/blog/article/diagnostic-debug-view-in-doophp http://www.doophp.com/blog/article/diagnostic-debug-view-in-doophp#comments Sun, 11 Oct 2009 06:22:49 +0800 darkredz http://www.doophp.com/blog/article/diagnostic-debug-view-in-doophp DooPHP Diagnostic is added in the latest trunk. It served as a debug view when developing your application with DooPHP. The app folder is updated in the Google Code SVN to include the diagnostic view if any errors/exception are thrown.

This would be helpful for debugging your application during development stage.

Simply remove line 18 in index.php if you wish to view errors in the normal PHP way.

DooPHP diagnostic view

DooPHP diagnostic view
]]>
DooPHP Diagnostic is added in the latest trunk. It served as a debug view when developing your application with DooPHP. The app folder is updated in the Google Code SVN to include the diagnostic view if any errors/exception are thrown.

This would be helpful for debugging your application during development stage.

Simply remove line 18 in index.php if you wish to view errors in the normal PHP way.

DooPHP diagnostic view

DooPHP diagnostic view
]]>
http://www.doophp.com/blog/article/diagnostic-debug-view-in-doophp/comments.rss 1
DooPHP Wallpapers http://www.doophp.com/blog/article/doophp-wallpaper http://www.doophp.com/blog/article/doophp-wallpaper#comments Tue, 06 Oct 2009 23:51:52 +0800 darkredz http://www.doophp.com/blog/article/doophp-wallpaper Here's some wallpapers for DooPHP!

A DooPHP wallpaper (black) http://doophp.com/files/media/doophp_wallpaper.jpg

Dark version 1440x900


Another DooPHP wallpaper (white) http://doophp.com/files/media/doophp_wallpaper_white1440x900.jpg

White version 1440x900 | 1920x1080

]]>
Here's some wallpapers for DooPHP!

A DooPHP wallpaper (black) http://doophp.com/files/media/doophp_wallpaper.jpg

Dark version 1440x900


Another DooPHP wallpaper (white) http://doophp.com/files/media/doophp_wallpaper_white1440x900.jpg

White version 1440x900 | 1920x1080

]]>
http://www.doophp.com/blog/article/doophp-wallpaper/comments.rss 0
DooPHP has a new logo! http://www.doophp.com/blog/article/doophp-new-logo http://www.doophp.com/blog/article/doophp-new-logo#comments Sun, 04 Oct 2009 04:47:12 +0800 darkredz http://www.doophp.com/blog/article/doophp-new-logo DooPHP has a new logo!

The new logo resembles a piranha in feeding frenzy (meaning Blazing Fast! for DooPHP). The new look is designed by Valera from Russia, you can view more of his awesome logo designs at BrandBerry.ru.

]]>
DooPHP has a new logo!

The new logo resembles a piranha in feeding frenzy (meaning Blazing Fast! for DooPHP). The new look is designed by Valera from Russia, you can view more of his awesome logo designs at BrandBerry.ru.

]]>
http://www.doophp.com/blog/article/doophp-new-logo/comments.rss 2
Extending DooPHP Framework http://www.doophp.com/blog/article/extending-doophp http://www.doophp.com/blog/article/extending-doophp#comments Sat, 12 Sep 2009 21:13:22 +0800 darkredz http://www.doophp.com/blog/article/extending-doophp If you would like to extend the framework, you can write your own class that extends the framework classes.

For instance, you might want to extend the DooValidator. You can write your own validator class in protected/class

Doo::loadHelper('DooValidator');

classs MyValidator extends DooValidator{
     //..??your extended code..
}

And then you can use your extended class in controller:

Doo::loadClass('MyValidator');

Read more tips & tricks at the forum

]]>
If you would like to extend the framework, you can write your own class that extends the framework classes.

For instance, you might want to extend the DooValidator. You can write your own validator class in protected/class

Doo::loadHelper('DooValidator');

classs MyValidator extends DooValidator{
     //..??your extended code..
}

And then you can use your extended class in controller:

Doo::loadClass('MyValidator');

Read more tips & tricks at the forum

]]>
http://www.doophp.com/blog/article/extending-doophp/comments.rss 1
Blog Demo Added http://www.doophp.com/blog/article/blog-demo-added http://www.doophp.com/blog/article/blog-demo-added#comments Wed, 09 Sep 2009 03:32:54 +0800 darkredz http://www.doophp.com/blog/article/blog-demo-added A blog demo application is added in the demo section.

It shows you how to create a blog with DooPHP. Frontend cache, table relationship, CRUD with the ORM, template engine, data validation and pagination are involved in this blog demo.

The blog demo is included in the download package. Go ahead and try out the blog demo

]]>
A blog demo application is added in the demo section.

It shows you how to create a blog with DooPHP. Frontend cache, table relationship, CRUD with the ORM, template engine, data validation and pagination are involved in this blog demo.

The blog demo is included in the download package. Go ahead and try out the blog demo

]]>
http://www.doophp.com/blog/article/blog-demo-added/comments.rss 0
Guide on Model and View http://www.doophp.com/blog/article/guide-model-view http://www.doophp.com/blog/article/guide-model-view#comments Sat, 05 Sep 2009 01:14:10 +0800 darkredz http://www.doophp.com/blog/article/guide-model-view The basic section in DooPHP definitive guide is completed.

2 new pages are added to explain the usage of Models and View in DooPHP. It is still recommended that you have a look at the demos since they show you a more complete usage of the features in the framework.

Read more at http://doophp.com/doc/guide/basic/controller

Stay tuned for more advanced guide and demos!

]]>
The basic section in DooPHP definitive guide is completed.

2 new pages are added to explain the usage of Models and View in DooPHP. It is still recommended that you have a look at the demos since they show you a more complete usage of the features in the framework.

Read more at http://doophp.com/doc/guide/basic/controller

Stay tuned for more advanced guide and demos!

]]>
http://www.doophp.com/blog/article/guide-model-view/comments.rss 1
DooPHP version 1.2 is released! http://www.doophp.com/blog/article/doophp-v1.2-released http://www.doophp.com/blog/article/doophp-v1.2-released#comments Tue, 01 Sep 2009 16:21:20 +0800 darkredz http://www.doophp.com/blog/article/doophp-v1.2-released DooPHP version 1.2 is released! It now comes with better ORM tools and data validation along with code generation to make things easier!

The benchmark comparison of using the original Doo::db() and the new DooModel.

Doophp v1.1 benchmark

Doophp v1.1 benchmark

Noticeable New Features in v1.2:

  • Enhanced Database ORM for shorter and more elegant code. Your current model classes can extend DooModel for addon ORM functionailities.
  • Smart Model Cache (DooSmartModel) for automated data model cache management. It is a smarter version of DooModel. Cache can be stored as file based, php vars, APC, XCache, Memcache, EAccelerator.
  • Form/Model Validation for data validation before saving/creating/deleting DB records. Validation rules can be generated with the Model generator.
  • Better Native PHP template support for those who do not use the template engine. Read the API doc for DooView.
  • And several bug fixes plus enhancements.

View the complete features and changes in the CHANGELOG file in the latest source.

Go ahead and download the new framework source.

See DooPHP database demo's MainController::test() and the API doc for DooModel for example usage of the enhanced ORM tools.

]]>
DooPHP version 1.2 is released! It now comes with better ORM tools and data validation along with code generation to make things easier!

The benchmark comparison of using the original Doo::db() and the new DooModel.

Doophp v1.1 benchmark

Doophp v1.1 benchmark

Noticeable New Features in v1.2:

  • Enhanced Database ORM for shorter and more elegant code. Your current model classes can extend DooModel for addon ORM functionailities.
  • Smart Model Cache (DooSmartModel) for automated data model cache management. It is a smarter version of DooModel. Cache can be stored as file based, php vars, APC, XCache, Memcache, EAccelerator.
  • Form/Model Validation for data validation before saving/creating/deleting DB records. Validation rules can be generated with the Model generator.
  • Better Native PHP template support for those who do not use the template engine. Read the API doc for DooView.
  • And several bug fixes plus enhancements.

View the complete features and changes in the CHANGELOG file in the latest source.

Go ahead and download the new framework source.

See DooPHP database demo's MainController::test() and the API doc for DooModel for example usage of the enhanced ORM tools.

]]>
http://www.doophp.com/blog/article/doophp-v1.2-released/comments.rss 4
DooPHP Version 1.1 Released! http://www.doophp.com/blog/article/doophp-v1.1-released http://www.doophp.com/blog/article/doophp-v1.1-released#comments Mon, 24 Aug 2009 14:08:58 +0800 darkredz http://www.doophp.com/blog/article/doophp-v1.1-released DooPHP version 1.1 is released! It now comes with a more complete list of features. Another great thing to be mentioned is that the performance in this version has improved too!

The benchmark comparison of v1.0 and v1.1

Doophp v1.1 benchmark

The benchmarked source code and environment is the same as the previous benchmark tested with Kohana framework.

Noticeable New Features in v1.1:

  • Access Control List(ACL) as built-in authentication support.
  • Data caching which supports APC, Memcache, XCache, EAccelerator & file based cache.
  • Sophisticated Frontend cache mechanism where both full page(single/recurvise) & partial page cache are supported.
  • Database replication (master-slave) support in the ORM tools
  • Better conventional modular directory structure support.
  • Auto loading of the framework classes.
  • IF statement and Cache tag support for template engine.
  • Enhanced model class generator. PostgreSQL supported.
  • Image manipulation helper for resize, crop, watermark, upload, etc.
  • Pager component for item list pagination.
  • Text helper class for string manipulation.
  • Url builder class to generates URLs based on route ID or controller & method names
  • Log/Profile viewer tool.
  • Sitemap Generator tool to generate routes and controller files.

View the complete features and changes in the CHANGELOG file in the latest source.

Go ahead and download the new framework source. New demos and tools are added in to help you get started even easier now.

]]>
DooPHP version 1.1 is released! It now comes with a more complete list of features. Another great thing to be mentioned is that the performance in this version has improved too!

The benchmark comparison of v1.0 and v1.1

Doophp v1.1 benchmark

The benchmarked source code and environment is the same as the previous benchmark tested with Kohana framework.

Noticeable New Features in v1.1:

  • Access Control List(ACL) as built-in authentication support.
  • Data caching which supports APC, Memcache, XCache, EAccelerator & file based cache.
  • Sophisticated Frontend cache mechanism where both full page(single/recurvise) & partial page cache are supported.
  • Database replication (master-slave) support in the ORM tools
  • Better conventional modular directory structure support.
  • Auto loading of the framework classes.
  • IF statement and Cache tag support for template engine.
  • Enhanced model class generator. PostgreSQL supported.
  • Image manipulation helper for resize, crop, watermark, upload, etc.
  • Pager component for item list pagination.
  • Text helper class for string manipulation.
  • Url builder class to generates URLs based on route ID or controller & method names
  • Log/Profile viewer tool.
  • Sitemap Generator tool to generate routes and controller files.

View the complete features and changes in the CHANGELOG file in the latest source.

Go ahead and download the new framework source. New demos and tools are added in to help you get started even easier now.

]]>
http://www.doophp.com/blog/article/doophp-v1.1-released/comments.rss 0
Database Replication (Master-slave) Support in DooPHP http://www.doophp.com/blog/article/master-slave-support http://www.doophp.com/blog/article/master-slave-support#comments Fri, 21 Aug 2009 03:41:25 +0800 darkredz http://www.doophp.com/blog/article/master-slave-support Database replication support is added in DooPHP.

Most simple frameworks/application have no separation of Reads and Writes of the DB. Once the projects outgrow a single server RDBMS the next step is often to do a Master/Slave setup in MySQL.

In a Master/Slave setup expensive and less frequent writes are channeled to the Master server while reads are channelled to the Slave server.

In DooPHP, we simplifies thing to merely just define the Slave server configurations in db.conf.php

You need to call Doo::useDbReplicate() in the bootstrap index.php, and that's all!

The query stuffs remain the same.

To setup:

//This will serve as the Master
$dbconfig['dev'] = array('localhost', 'db', 'root', '1234', 'mysql',true);

//slave with the same info as master
$dbconfig['slave'] = array('192.168.1.1', '192.168.1.2', '192.168.1.3');

//OR ...
//slave with different info, use a string if it's same as the master info.
$dbconfig['slave'] = 
	array(
	   array('192.168.1.1', 'db', 'dairy', '668dj0', 'mysql',true),
	   array('192.168.1.2', 'db', 'yuhus', 'gu34k2', 'mysql',true),
	   array('192.168.1.3', 'db', 'lily', '84ju2a', 'mysql',true),
	   '192.168.1.4'
    );

In index.php just add a line Doo::useDbReplicate() before setting up the DB.

Doo::useDbReplicate();
Doo::db()->setMap($dbmap);
Doo::db()->setDb($dbconfig, $config['APP_MODE']);
]]>
Database replication support is added in DooPHP.

Most simple frameworks/application have no separation of Reads and Writes of the DB. Once the projects outgrow a single server RDBMS the next step is often to do a Master/Slave setup in MySQL.

In a Master/Slave setup expensive and less frequent writes are channeled to the Master server while reads are channelled to the Slave server.

In DooPHP, we simplifies thing to merely just define the Slave server configurations in db.conf.php

You need to call Doo::useDbReplicate() in the bootstrap index.php, and that's all!

The query stuffs remain the same.

To setup:

//This will serve as the Master
$dbconfig['dev'] = array('localhost', 'db', 'root', '1234', 'mysql',true);

//slave with the same info as master
$dbconfig['slave'] = array('192.168.1.1', '192.168.1.2', '192.168.1.3');

//OR ...
//slave with different info, use a string if it's same as the master info.
$dbconfig['slave'] = 
	array(
	   array('192.168.1.1', 'db', 'dairy', '668dj0', 'mysql',true),
	   array('192.168.1.2', 'db', 'yuhus', 'gu34k2', 'mysql',true),
	   array('192.168.1.3', 'db', 'lily', '84ju2a', 'mysql',true),
	   '192.168.1.4'
    );

In index.php just add a line Doo::useDbReplicate() before setting up the DB.

Doo::useDbReplicate();
Doo::db()->setMap($dbmap);
Doo::db()->setDb($dbconfig, $config['APP_MODE']);
]]>
http://www.doophp.com/blog/article/master-slave-support/comments.rss 0