Notes:
Notes:
We have reached a great point in the development of CakePHP. A lot of work has been done to make sure Cake is feature rich,
stable and fast. We extended the release cycle to make the best framework for PHP and we are extremely happy with the result.
The final features for 0.10: (more will be in the manual shortly, but check out the API in the mean time)
- Full Page Caching: no we are no kidding. You can now cache your layout and views. You can even stop caching with
<cake:nocache>code here</cake:nocache> The feature, when used wisely, can increase the speed of your app by a considerable amount
-Persistent Models: for larger projects with lots of models and associations it might be useful to cache the model objects so they
do not have to be created each time. You can do this now by setting var $persistentModel = true; in your controller.
- Duplicate Query Check: we found that on self joins and high levels of recursion that a lot of queries were being duplicated.
So, we added a check that is on by default for SELECT queries. This reduced queries from 200 to 60 on one test we ran that had 5
levels of recursion and HABTM self joins.
-Alternate Paths: If you want to use the models from one app in the another one, you can check out the comments in /app/bootstrap.php
-Custom inflector rules. have a look at the inflections.php in /app/config
-Model::invalidate(): you can invalidate fields on your own and use tagErrorMsg in your views
-Request and Security components have some nice additions. check them out.
-Sanitize::html() no longer converts \n to <br/>. This means you can use cleanArray and cleanValue and then convert what you need to on output.
This release marks the last in the .10 series line. The next release will be version 1.0. CakePHP 1.0 will be the first fully stable
version and will fix any bugs that are found after this release. The rest of the road map like i18n, i10n, and datasources is outlined here:
https://trac.cakephp.org/wiki/Proposals/2.0ToDoList
On Monday we will begin a 5 part series on building the Cake Bakery. The Bakery is an application that will bring tutorials and information
about Cake together. Follow along on trac, https://trac.cakephp.org/wiki/BuildingCakeBakery
We hope everyone enjoys the latest and greatest CakePHP.
Changes:
Complete list of all closed tickets:
https://trac.cakephp.org/query?status=closed&version=0.10.0.%2A&order=id
Revision: [2369]
Added missing doc comments to classes
Revision: [2368]
Removing core view paths from Configure class
Revision: [2367]
Updating View class to use new Configure class to search paths for view files
Revision:[ 2366]
Corrected loadControllers() in basics.php
Revision: [2365]
Updating function in basics.php to use new Configure class
Revision: [2364]
removed duplicate loading of app/config/bootstrap.php
Revision: [2363]
Added new Configure class to hold paths to models, views, and controllers related to Ticket #470.
Moved loading of app/config/bootstrap.php to Configure class from app/webroot/index.php.
Added creating instance of Configure instance in cake/bootstrap.php
Added example of setting custom paths in app/config/bootstrap.php
Corrected error in Object::_savePersistent().
Revision: [2362]
Added fix for Ticket #534
Revision: [2361]
Refactoring persistent code a little more.
File now holds a variable with the serialized class and is include vs. reading file contents.
Revision: [2360]
Refactored persistent methods to use cache()
Revision: [2359]
Fixing array_combine() Warning in Model::generateList()
Revision: [2358]
Set var $persistModel to false by default
Revision: [2357]
Moved persistent code to Object class.
Moved $TIME_START variable to top of file.
added __sleep methods for models
Revision: [2356]
Reverting persistent changes to Model class
Revision: [2355]
Adding fix for Ticket #550
Revision: [2354]
Corrected errors in persistent code
Revision: [2353]
Corrected overwrite in the model/model_php4.php file.
Revision: [2352]
Adding persistent methods to Model class.
This will allow caching of classes.
Added app/tmp/persistent directory.
Revision: [2351]
Reverting changes to dbo_source.php in [2350]
Revision: [2350]
Removed name pattern matches related to Ticket #534
Revision: [2349]
Adding fix for Ticket #548
Revision: [2348]
Adding fixes from Ticket #547.
Revision: [2347]
Adding fixes from Ticket #546.
Revision: [2346]
Adding fix for Ticket #527
Revision: [2345]
Refactored Html::url()
Revision: [2344]
Last fix for Ticket #483
Revision: [2343]
Updating last commit
Revision: [2342]
Adding fix for Ticket #483
Revision: [2341]
Adding fix for Ticket #543, DBO will now only cache SELECT queries
Revision: [2340]
Adding session_write_close() to the CakeSession::__regenerateId()
Revision: [2339]
Adding patch from Ticket #544
Revision: [2338]
Adding patch from Ticket #529
Revision: [2337]
Adding patch from Ticket #528
Revision: [2336]
Removing the converting of \n to <br /> in Sanitize::html()
Revision: [2335]
Added bash script from Ticket #533
Revision: [2334]
Added enhancement for Ticket #474
Revision: [2333]
Correcting errors introduced with prior fix
Revision: [2332]
Correcting errors introduced with prior fix
Revision: [2331]
Performance optimization for NeatArray::findIn(): replaced foreach loop with for
Revision: [2330]
Minor performance optimization: Replacing all occurrences of low() with strtolower()
Revision: [2328]
Merging changes from model_php5.php
Revision: [2327]
Fixing queries that don't respect model aliases in conditions clauses
Revision: [2326]
Adding in-memory query caching to DBO_Source, and Model->cacheQueries property to control the behavior
Revision: [2325]
A recovering discarded association data for recursive belongsTo joins
Revision: [2323]
Adding SQL error message display.
Fixed Invalid argument supplied for foreach() in dbo_source.php on line 472
Revision: [2322]
Fixed undefined index datasource.php on line 438
Revision: [2321]
Adding error messages for ConnectionManager if no database file is present.
Revision: [2320]
Merging changes from model_php5.php
Revision: [2319]
Removing $this->validationErrors = null; in Model::set();
Revision: [2318]
Refactoring Model::invalidFields()
Revision: [2316]
Added fix for message: Warning: array_diff(): Argument #2 is not an array in Controller::__construct()
Revision: [2315]
Adding fix for Ticket #517
Revision: [2314]
Corrected scaffold throwing errors when irregular words are used for model/table names
Revision: [2313]
Added patch from Ticket #495.
Added missing ?> bracket at end of file
Revision: [2312]
Corrected model names being set to lower case, When matched to an irregular word in Inflector methods.
Added custom inflections.php file to allow application to have custom inflection rules.
Correct variable in View::renderCache(). error thrown if time class was used $time variable changed to $timeStart.
Revision: [2311]
Corrected $db placed in wrong section of the method
Revision: [2310]
Removing the db attribute from the model, This will help better with persistent objects
Revision: [2309]
Adding fix for Ticket #490
Revision: [2308]
Update to previous commit
Revision: [2307]
Removing references to Model->db. DataBase connections are now singleton-only.
Revision: [2306]
Refactoring getDataSource() into loadDataSource() and enumConnectionObjects()
Revision: [2305]
Reverting changes to this file
Revision: [2304]
Fixing Ticket #496, getColumnType, and docstrings
Revision: [2303]
Adding fix for Ticket #510
Revision: [2302]
Added fix for Ticket #492.
Revision: [2301]
Moving the check for cached pages after the models are loaded.
Some issues where found when using acl components
Revision: [2299]
Added fix for Ticket #494.
Added fix for Ticket #489.
Revision: [2298]
Fixed regex that would match more than one <cake:nocache></cake:nocache> group and cause a wrong replace of the tags
Revision: [2297]
Corrected error in the convertSlash() function
Revision: [2296]
Another bug found and corrected after last commit.
This is working as expected now, and will be refactored.
Revision: [2295]
Fixed undefined index in CacheHelper::__parseFile();
Fixed caching when method is cached without params being set in the key
Revision: [2294]
Corrected caching for index method when accessing www.example.com/controller this would not use default index method.
Removed auto setting of the data variable in Controller::render();
Added additional check for cached index view in bootstrap.php
Revision: [2293]
Refactoring caching code.
Fixed problem with files being cached for all methods.
Added code to cache files to create helpers.
Moved duplicate code to basics.php as a function
Revision: [2291]
Fixed error when using caching in PHP 4
Revision: [2289]
Removing unused var setting
Revision: [2287]
Merging changes from model_php4.php
Revision: [2286]
Added serialized object data to the cached file.
Instances of the view helpers are available in the views now.
You also have access to the Controller::<component>, example $this->controller->Session;
Revision: [2285]
Adding Controller::postConditions() to convert a POST'ed data array to a Model conditions array
Revision: [2284]
Adding Model::invalidate() and refactoring Model::invalidFields(). Adding a fix for RequestHandler::accepts()
Revision: [2282]
Fixed caching of content when wrapped with the <cake:nocache> tags </cake:nocache>
Revision: [2281]
Fixing DBO compatibility in AclNode::_resolveID(), adding docblock and fixing code for stripslashes_deep(), and adding request detection helper methods to RequestHandler
Revision: [2280]
Added fix for empty pages being cached
Revision: [2279]
Fixed undefined index in CacheHelper::cache()
Revision: [2278]
Fixed bug in CacheHelper::__parseFile() regex pattern did not match properly
Revision: [2277]
Adding CacheHelper class.
Refactored View::_render() to use new CacheHelper.
Revision: [2275]
Change the way the cacheAction arrays can be set.
var $cacheAction = array('action/params/' => time); Multiple params are allowed, will only cache params level and deeper (action/params/params/)
var $cacheAction = array('action/' => time); Setting to just the method without any params will cache all request to that method.
var $cacheAction = string; Will set cache time for entire class.
Both settings can be used in the Controller::method().
$this->cacheAction = array() or string;
Revision: [2274]
Changed clearCache function to allow using url like param setting for cache.
Example:
One of the following can be used.
clearCache('controller'); Will remove all cached pages that have the controller name.
clearCache('controller/action/'); Will remove all cached pages that have the controller_action name.
clearCache('controller/action/params'); Will remove all cached pages that have the controller_action_params name. Note you can have multiple params
clearCache(array('controller/action/params','controller2/action/params)); You can also use and array to set more than one value, same setting as above apply to arrays.
Revision: [2272]
Fixed missing view not rendering an error page when DEBUG > 0
Revision: [2270]
Refactored clearCache()
Revision: [2269]
Removed timestamp in file name.
Removed debug code in model_php5.php
Revision: [2267]
Removed the 50 record limit on the Model::findAll().
Added _ between file and timestamp
Fixed error thrown when variable was not an array
Revision: [2265]
Corrected error when cached file was found with partial matching name.
Revision: [2263]
Fixed Model::_clearCache() not having the name of the current model in the $assoc array
Revision: [2261]
Adding fix for Ticket #479.
Removed unused $alias variable.
Revision: [2260]
Merging changes from model_php4.php
Revision: [2259]
Added Model::_clearCache(). This is used to delete cached pages when changes are made to a model, will also be used to delete cached queries
Revision: [2257]
Refactored cache code in view class.
Removed adding the timestamp to the file contents, it is now
added to the file name
Revision: [2256]
Refactored cache checking code.
Time stamp is not added to file name so we check this
instead of reading the file and finding timestamp
Revision: [2255]
Adding clearCache function to delete contents of cache
Revision: [2253]
Changing define to false by default
Revision: [2251][2252]
Adding check if define is not set