Forums / Developer / Object Name Pattern: how to use it in PHP script

Object Name Pattern: how to use it in PHP script

Author Message

Jim Reverend

Friday 06 February 2004 7:42:14 am

For each defined class, there is an "Object Name Pattern" field that is a method of telling the Object how to get its name from the data in the object.

In the Article class, the object name pattern is "<title>". Yet, when I create a new Object of class "Article" via PHP, one might think that the name would have to be set manually, like so:
******************************************************
$contentclass =& ezcontentclass::fetch($params['comment']['objtype']);
$contentobject =& $contentclass->instantiate($params['auth'],$params['comment']['section']);
$version =& $contentobject->version( $contentobject->attribute('current_version') );
$contentobjectdatamap =& $version->datamap();

/* Store the Title */
$contentobjectdatamap['title']->setAttribute('data_text',$data['title']);
$contentobjectdatamap['title']->store();

/* Store the Title Again */
$contentobject->setName($data['title']);

$version->store();
$contentobject->store();
********************************************************

However, this is not the case. The ezContentClass has a method named contentObjectName() that follows the rules defined in the class. Therefore, instead of setting the name of the content object as you say above, instead, one should do the following:

*******
$contentobject->setName($contentclass->contentObjectName($contentobject), $version->attribute('version'));
*******

I hope this helps someone.

eZ debug

Timing: Jan 31 2025 06:11:55
Script start
Timing: Jan 31 2025 06:11:55
Module start 'content'
Timing: Jan 31 2025 06:11:55
Module end 'content'
Timing: Jan 31 2025 06:11:55
Script end

Main resources:

Total runtime0.1457 sec
Peak memory usage2,048.0000 KB
Database Queries141

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0055 588.0625180.8125
Module start 'content' 0.00550.0078 768.875093.8203
Module end 'content' 0.01330.1323 862.6953525.3750
Script end 0.1456  1,388.0703 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00362.4623200.0002
Check MTime0.00151.0362200.0001
Mysql Total
Database connection0.00060.406310.0006
Mysqli_queries0.095865.72891410.0007
Looping result0.00120.79931390.0000
Template Total0.131890.510.1318
Template load0.00090.629910.0009
Template processing0.130989.841210.1309
Override
Cache load0.00060.442610.0006
Sytem overhead
Fetch class attribute can translate value0.00050.326710.0005
XML
Image XML parsing0.00030.219610.0003
General
dbfile0.01117.6377200.0006
String conversion0.00000.003430.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs