Skip to content

Commit

Permalink
Optimize _clearCache().
Browse files Browse the repository at this point in the history
It is cheaper to make an assignment or call strtolower() than to pluralize.
  • Loading branch information
bar committed Oct 24, 2013
1 parent 43fccc1 commit 6dcfd28
Showing 1 changed file with 14 additions and 10 deletions.
24 changes: 14 additions & 10 deletions lib/Cake/Model/Model.php
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -3669,25 +3669,29 @@ public function onError() {
* *
* @param string $type If null this deletes cached views if Cache.check is true * @param string $type If null this deletes cached views if Cache.check is true
* Will be used to allow deleting query cache also * Will be used to allow deleting query cache also
* @return boolean true on delete * @return mixed True on delete, null otherwise
*/ */
protected function _clearCache($type = null) { protected function _clearCache($type = null) {
if ($type !== null || Configure::read('Cache.check') !== true) { if ($type !== null || Configure::read('Cache.check') !== true) {
return; return;
} }
$assoc[] = strtolower(Inflector::pluralize($this->alias)); $pluralized = Inflector::pluralize($this->alias);
$assoc[] = Inflector::underscore(Inflector::pluralize($this->alias)); $assoc = array(
strtolower($pluralized),
Inflector::underscore($pluralized)
);
foreach ($this->_associations as $association) { foreach ($this->_associations as $association) {
foreach ($this->$association as $className) { foreach ($this->{$association} as $className) {
$pluralized = strtolower(Inflector::pluralize($className['className'])); $pluralizedAssociation = Inflector::pluralize($className['className']);
if (!in_array($pluralized, $assoc)) { if (!in_array(strtolower($pluralizedAssociation), $assoc)) {
$assoc[] = $pluralized; $assoc = array_merge($assoc, array(
$assoc[] = Inflector::underscore(Inflector::pluralize($className['className'])); strtolower($pluralizedAssociation),
Inflector::underscore($pluralizedAssociation)
));
} }
} }
} }
$assoc = array_unique($assoc); clearCache(array_unique($assoc));
clearCache($assoc);
return true; return true;
} }


Expand Down

0 comments on commit 6dcfd28

Please sign in to comment.