# php_manual

id: Yaf_Controller_Abstract::display
type: function
doc:
<comment>Description:</comment>
  The display purpose

<comment>Param:</comment>
  <info>string</info>  <strong>$tpl       </strong>  
  <info>array </info>  <strong>$parameters</strong>  

<comment>Return:</comment>
  <info>bool</info>  


id: Yaf_Controller_Abstract::forward
type: function
doc:
<comment>Description:</comment>
  Foward to another action
  
  forward current execution process to other action.  this method doesn't switch to the destination
  action immediately, it will take place after current flow finish.
  
  this method doesn't switch to the destination action immediately, it will take place after current
  flow finish.

<comment>Param:</comment>
  <info>string</info>  <strong>$module    </strong>  destination module name, if NULL was given, then default module name is
                       assumed
  <info>string</info>  <strong>$controller</strong>  destination controller name
  <info>string</info>  <strong>$action    </strong>  destination action name
  <info>array </info>  <strong>$paramters </strong>  calling arguments

<comment>Return:</comment>
  <info>void</info>  return FALSE on failure

<comment>See Also:</comment>
   * Yaf_Request_Abstrace::getParam


id: Yaf_Controller_Abstract::getInvokeArg
type: function
doc:
<comment>Description:</comment>
  The getInvokeArg purpose

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Controller_Abstract::getInvokeArgs
type: function
doc:
<comment>Description:</comment>
  The getInvokeArgs purpose

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Controller_Abstract::getModuleName
type: function
doc:
<comment>Description:</comment>
  Get module name
  
  get the controller's module name

<comment>Return:</comment>
  <info>string</info>  


id: Yaf_Controller_Abstract::getName
type: function
doc:
<comment>Description:</comment>
  Get self name
  
  get the controller's name

<comment>Return:</comment>
  <info>string</info>  <info>string</info>, controller name


id: Yaf_Controller_Abstract::getRequest
type: function
doc:
<comment>Description:</comment>
  Retrieve current request object
  
  retrieve current request object

<comment>Return:</comment>
  <info>Yaf_Request_Abstract</info>  <class>Yaf_Request_Abstract</class> instance


id: Yaf_Controller_Abstract::getResponse
type: function
doc:
<comment>Description:</comment>
  Retrieve current response object
  
  retrieve current response object

<comment>Return:</comment>
  <info>Yaf_Response_Abstract</info>  <class>Yaf_Response_Abstract</class> instance


id: Yaf_Controller_Abstract::getView
type: function
doc:
<comment>Description:</comment>
  Retrieve the view engine
  
  retrieve view engine

<comment>Return:</comment>
  <info>Yaf_View_Interface</info>  


id: Yaf_Controller_Abstract::getViewpath
type: function
doc:
<comment>Description:</comment>
  The getViewpath purpose

<comment>Return:</comment>
  <info>string</info>  


id: Yaf_Controller_Abstract::init
type: function
doc:
<comment>Description:</comment>
  Controller initializer
  
  Yaf_Controller_Abstract::__construct is final, which means users can not override it. but users
  can define Yaf_Controller_Abstract::init, which will be called after controller object is
  instantiated.

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * Yaf_Controller_Abstract::__construct


id: Yaf_Controller_Abstract::initView
type: function
doc:
<comment>Description:</comment>
  The initView purpose

<comment>Param:</comment>
  <info>array</info>  <strong>$options</strong>  

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Controller_Abstract::redirect
type: function
doc:
<comment>Description:</comment>
  Redirect to a URL
  
  redirect to a URL by sending a 302 header

<comment>Param:</comment>
  <info>string</info>  <strong>$url</strong>  a location URL

<comment>Return:</comment>
  <info>bool</info>  bool


id: Yaf_Controller_Abstract::render
type: function
doc:
<comment>Description:</comment>
  Render view template

<comment>Param:</comment>
  <info>string</info>  <strong>$tpl       </strong>  
  <info>array </info>  <strong>$parameters</strong>  

<comment>Return:</comment>
  <info>string</info>  


id: Yaf_Controller_Abstract::setViewpath
type: function
doc:
<comment>Description:</comment>
  The setViewpath purpose

<comment>Param:</comment>
  <info>string</info>  <strong>$view_directory</strong>  

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Dispatcher
type: class
doc:
<comment>Description:</comment>
  <class>Yaf_Dispatcher</class> purpose is to initialize  the request environment, route the incoming request, and
  then dispatch any discovered actions; it aggregates any responses and returns them  when the
  process is complete.
  
  <class>Yaf_Dispatcher</class> also implements the Singleton pattern,  meaning only a single instance of it may be
  available at any given time. This allows it to also act as a registry on which the other objects
  in the dispatch process may draw.


id: Yaf_Dispatcher::autoRender
type: function
doc:
<comment>Description:</comment>
  Switch on/off autorendering
  
  <class>Yaf_Dispatcher</class> will render automatically after  dispatches a incoming request, you can prevent the
  rendering by calling this method with <strong>$flag</strong> <info>true</info>  you can simply return <info>false</info> in a action to
  prevent the auto-rendering of that action
  
  you can simply return <info>false</info> in a action to prevent the auto-rendering of that action

<comment>Param:</comment>
  <info>bool</info>  <strong>$flag</strong>  bool  since 2.2.0, if this parameter is not given, then the current state will be
               renturned
               
               since 2.2.0, if this parameter is not given, then the current state will be renturned

<comment>Return:</comment>
  <info>Yaf_Dispatcher</info>  


id: Yaf_Dispatcher::catchException
type: function
doc:
<comment>Description:</comment>
  Switch on/off exception catching
  
  While the application.dispatcher.throwException is On(you can also calling to
  Yaf_Dispatcher::throwException(TRUE) to enable it),  Yaf will throw Exception when error occurrs
  instead of trigger error.
  
  then if you enable Yaf_Dispatcher::catchException(also can enabled by set
  application.dispatcher.catchException),  all uncaught Exceptions will be caught by
  ErrorController::error if you have defined one.

<comment>Param:</comment>
  <info>bool</info>  <strong>$flag</strong>  bool

<comment>Return:</comment>
  <info>Yaf_Dispatcher</info>  

<comment>See Also:</comment>
   * Yaf_Dispatcher::throwException
   * Yaf_Dispatcher::setErrorHandler


id: Yaf_Dispatcher::disableView
type: function
doc:
<comment>Description:</comment>
  Disable view rendering
  
  disable view engine, used in some app that user will output by theirself  you can simply return
  <info>false</info> in a action to prevent the auto-rendering of that action
  
  you can simply return <info>false</info> in a action to prevent the auto-rendering of that action

<comment>Return:</comment>
  <info>bool</info>  


id: Yaf_Dispatcher::dispatch
type: function
doc:
<comment>Description:</comment>
  Dispatch a request
  
  This method does the heavy work of the <class>Yaf_Dispatcher</class>. It take a request object.
  
  The dispatch process has three distinct events: RoutingDispatchingResponse Routing takes place
  exactly once, using the values in the request object when dispatch() is called. Dispatching takes
  place in a loop; a request may either indicate multiple actions to dispatch, or the controller or
  a plugin may reset the request object to force additional actions to dispatch(see
  <class>Yaf_Plugin_Abstract</class>. When all is done, the  <class>Yaf_Dispatcher</class> returns a response.

<comment>Param:</comment>
  <info>Yaf_Request_Abstract</info>  <strong>$request</strong>  

<comment>Return:</comment>
  <info>Yaf_Response_Abstract</info>  


id: Yaf_Dispatcher::enableView
type: function
doc:
<comment>Description:</comment>
  Enable view rendering

<comment>Return:</comment>
  <info>Yaf_Dispatcher</info>  


id: Yaf_Dispatcher::flushInstantly
type: function
doc:
<comment>Description:</comment>
  Switch on/off the instant flushing

<comment>Param:</comment>
  <info>bool</info>  <strong>$flag</strong>  bool  since 2.2.0, if this parameter is not given, then the current state will be
               renturned
               
               since 2.2.0, if this parameter is not given, then the current state will be renturned

<comment>Return:</comment>
  <info>Yaf_Dispatcher</info>  


id: Yaf_Dispatcher::getApplication
type: function
doc:
<comment>Description:</comment>
  Retrive the application
  
  Retrive the <class>Yaf_Application</class> instance. same as Yaf_Application::app.

<comment>Return:</comment>
  <info>Yaf_Application</info>  

<comment>See Also:</comment>
   * Yaf_Application::app


id: Yaf_Dispatcher::getDefaultAction
type: function
doc:
<comment>Description:</comment>
  Retrive the default action name
  
  get the default action name

<comment>Return:</comment>
  <info>string</info>  <info>string</info>, default action name, default is "index"


id: Yaf_Dispatcher::getDefaultController
type: function
doc:
<comment>Description:</comment>
  Retrive the default controller name
  
  get the default controller name

<comment>Return:</comment>
  <info>string</info>  <info>string</info>, default controller name, default is "Index"


id: Yaf_Dispatcher::getDefaultModule
type: function
doc:
<comment>Description:</comment>
  Retrive the default module name
  
  get the default module name

<comment>Return:</comment>
  <info>string</info>  <info>string</info>, module name, default is "Index"


id: Yaf_Dispatcher::getInstance
type: function
doc:
<comment>Description:</comment>
  Retrive the dispatcher instance

<comment>Return:</comment>
  <info>Yaf_Dispatcher</info>  


id: Yaf_Dispatcher::getRequest
type: function
doc:
<comment>Description:</comment>
  Retrive the request instance

<comment>Return:</comment>
  <info>Yaf_Request_Abstract</info>  


id: Yaf_Dispatcher::getRouter
type: function
doc:
<comment>Description:</comment>
  Retrive router instance

<comment>Return:</comment>
  <info>Yaf_Router</info>  


id: Yaf_Dispatcher::initView
type: function
doc:
<comment>Description:</comment>
  Initialize view and return it

<comment>Param:</comment>
  <info>string</info>  <strong>$templates_dir</strong>  
  <info>array </info>  <strong>$options      </strong>  

<comment>Return:</comment>
  <info>Yaf_View_Interface</info>  


id: Yaf_Dispatcher::registerPlugin
type: function
doc:
<comment>Description:</comment>
  Register a plugin
  
  Register a plugin(see <class>Yaf_Plugin_Abstract</class>). Generally, we register plugins in Bootstrap(see
  <class>Yaf_Bootstrap_Abstract</class>).

<comment>Param:</comment>
  <info>Yaf_Plugin_Abstract</info>  <strong>$plugin</strong>  

<comment>Return:</comment>
  <info>Yaf_Dispatcher</info>  

<comment>See Also:</comment>
   * <class>Yaf_Plugin_Abstract</class>
   * <class>Yaf_Bootstrap_Abstract</class>


id: Yaf_Dispatcher::returnResponse
type: function
doc:
<comment>Description:</comment>
  The returnResponse purpose

<comment>Param:</comment>
  <info>bool</info>  <strong>$flag</strong>  

<comment>Return:</comment>
  <info>Yaf_Dispatcher</info>  


id: Yaf_Dispatcher::setDefaultAction
type: function
doc:
<comment>Description:</comment>
  Change default action name

<comment>Param:</comment>
  <info>string</info>  <strong>$action</strong>  

<comment>Return:</comment>
  <info>Yaf_Dispatcher</info>  


id: Yaf_Dispatcher::setDefaultController
type: function
doc:
<comment>Description:</comment>
  Change default controller name

<comment>Param:</comment>
  <info>string</info>  <strong>$controller</strong>  

<comment>Return:</comment>
  <info>Yaf_Dispatcher</info>  


id: Yaf_Dispatcher::setDefaultModule
type: function
doc:
<comment>Description:</comment>
  Change default module name

<comment>Param:</comment>
  <info>string</info>  <strong>$module</strong>  

<comment>Return:</comment>
  <info>Yaf_Dispatcher</info>  


id: Yaf_Dispatcher::setErrorHandler
type: function
doc:
<comment>Description:</comment>
  Set error handler
  
  Set error handler for Yaf. when application.dispatcher.throwException is off, Yaf will trigger
  catchable error while unexpected errors occrred.
  
  Thus, this error handler will be called while the error raise.

<comment>Param:</comment>
  <info>call</info>  <strong>$callback   </strong>  A callable callback
  <info>int </info>  <strong>$error_types</strong>  

<comment>Return:</comment>
  <info>Yaf_Dispatcher</info>  

<comment>See Also:</comment>
   * Yaf_Dispatcher::throwException
   * Yaf_Application::getLastErrorNo
   * Yaf_Application::getLastErrorMsg


id: Yaf_Dispatcher::setRequest
type: function
doc:
<comment>Description:</comment>
  The setRequest purpose

<comment>Param:</comment>
  <info></info>  <strong>$plugin</strong>  

<comment>Return:</comment>
  <info>Yaf_Dispatcher</info>  


id: Yaf_Dispatcher::setView
type: function
doc:
<comment>Description:</comment>
  Set a custom view engine
  
  This method provides a solution if you want use a custom view engine instead of <class>Yaf_View_Simple</class>

<comment>Param:</comment>
  <info>Yaf_View_Interface</info>  <strong>$view</strong>  A Yaf_View_Interface instance

<comment>Return:</comment>
  <info>Yaf_Dispatcher</info>  

<comment>See Also:</comment>
   * <class>Yaf_View_Interface</class>
   * <class>Yaf_View_Simple</class>


id: Yaf_Dispatcher::throwException
type: function
doc:
<comment>Description:</comment>
  Switch on/off exception throwing
  
  Siwtch on/off exception throwing while unexpected error occurring. When this is on, Yaf will
  throwing exceptions instead of triggering catchable errors.
  
  You can also use  application.dispatcher.throwException to achieve the  same purpose.

<comment>Param:</comment>
  <info>bool</info>  <strong>$flag</strong>  bool

<comment>Return:</comment>
  <info>Yaf_Dispatcher</info>  

<comment>See Also:</comment>
   * Yaf_Dispatcher::catchException
   * <class>Yaf_Exception</class>


id: Yaf_Exception::getPrevious
type: function
doc:
<comment>Description:</comment>
  The getPrevious purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Loader
type: class
doc:
<comment>Description:</comment>
  <class>Yaf_Loader</class> introduces a comprehensive autoloading solution for Yaf.
  
  The first time an instance of <class>Yaf_Application</class> is retrieved,  <class>Yaf_Loader</class> will instance a singleton,
  and registers itself with spl_autoload.  You retrieve an instance using the
  Yaf_Loader::getInstance
  
  <class>Yaf_Loader</class> attempt to load a class only one shot, if failed, depend on yaf.use_spl_auload, if this
  config is On Yaf_Loader::autoload will return  <info>false</info>, thus give the chance to other autoload
  function. if it is Off  (by default), Yaf_Loader::autoload will return  <info>true</info>, and more important
  is that a very useful warning will be triggered  (very useful to find out why a class could not be
  loaded).   Please keep yaf.use_spl_autoload Off unless there is some library have their own
  autoload mechanism and impossible to rewrite it.
  
  Please keep yaf.use_spl_autoload Off unless there is some library have their own autoload
  mechanism and impossible to rewrite it.
  
  By default, <class>Yaf_Loader</class> assume all library (class defined script) store in the global library
  directory, which is defined in the php.ini(yaf.library).
  
  If you want <class>Yaf_Loader</class> search some classes(libraries) in the local class directory(which is
  defined in application.ini, and by default, it is application.directory . "/library"),  you should
  register the class prefix using the Yaf_Loader::registerLocalNameSpace
  
  Let's see some examples(assuming APPLICATION_PATH is application.directory): Config example
   Assuming the following local name space is registered: Register
  localnamespaceregisterLocalNameSpace(array("Foo", "Bar")); }
  ?>
  ]]>
   Then the autoload examples: Load class example // APPLICATION_PATH/library/Foo/Bar/Test.php 
  class GLO_Name  => // /global_dir/Glo/Name.php 
  class BarNon_Test // /global_dir/Barnon/Test.php
  ]]>
   As of PHP 5.3, you can use namespace: Load namespace class example //
  APPLICATION_PATH/library/Foo/Bar/Dummy.php
  
  class \FooBar\Bar\Dummy => // /global_dir/FooBar/Bar/Dummy.php
  ]]>
  
  You may noticed that all the folder with the first letter capitalized, you can make them lowercase
  by set yaf.lowcase_path = On in php.ini
  
  <class>Yaf_Loader</class> is also designed to load the MVC classes, and the rule is: MVC class loading example
  // APPLICATION_PATH/controllers/
  
  Model Classes =>
  // APPLICATION_PATH/models/
  
  Plugin Classes =>
  // APPLICATION_PATH/plugins/
  ]]>
   Yaf identify a class's suffix(this is by default, you can also change to the prefix by change the
  configure yaf.name_suffix) to decide whether it is a MVC class: MVC class distinctions //
  ***Controller
  
  Model Classes => // ***Model
  
  Plugin Classes => // ***Plugin
  ]]>
   some examples: MVC loading example // APPLICATION_PATH/models/Data.php
  
  class DummyPlugin => // APPLICATION_PATH/plugins/Dummy.php
  
  class A_B_TestModel => // APPLICATION_PATH/models/A/B/Test.php
  ]]>
    As of 2.1.18, Yaf supports Controllers autoloading for user script side, (which means the
  autoloading triggered by user php script, eg: access a controller static property in Bootstrap or
  Plugins), but autoloader only try to locate controller class script under the default module
  folder, which is "APPLICATION_PATH/controllers/".  also, the directory will be affected by
  yaf.lowcase_path.
  
  As of 2.1.18, Yaf supports Controllers autoloading for user script side, (which means the
  autoloading triggered by user php script, eg: access a controller static property in Bootstrap or
  Plugins), but autoloader only try to locate controller class script under the default module
  folder, which is "APPLICATION_PATH/controllers/".


id: Yaf_Loader::autoload
type: function
doc:
<comment>Description:</comment>
  The autoload purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Loader::clearLocalNamespace
type: function
doc:
<comment>Description:</comment>
  The clearLocalNamespace purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Loader::getInstance
type: function
doc:
<comment>Description:</comment>
  The getInstance purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Loader::getLibraryPath
type: function
doc:
<comment>Description:</comment>
  Get the library path
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>Yaf_Loader</info>  


id: Yaf_Loader::getLocalNamespace
type: function
doc:
<comment>Description:</comment>
  Retrive all register namespaces info
  
  get registered namespaces info

<comment>Return:</comment>
  <info>array</info>  <info>array</info>


id: Yaf_Loader::getNamespacePath
type: function
doc:
<comment>Description:</comment>
  Retieve path of a registered namespace
  
  retrieve path of a registered namespace

<comment>Param:</comment>
  <info></info>  <strong>$namespace</strong>  a string of namespace.

<comment>Return:</comment>
  <info>string</info>  <info>string</info> path, if the namespace is not registered, then <info>null</info> default library will be
          returned


id: Yaf_Loader::import
type: function
doc:
<comment>Description:</comment>
  The import purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Loader::isLocalName
type: function
doc:
<comment>Description:</comment>
  The isLocalName purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Loader::registerLocalNamespace
type: function
doc:
<comment>Description:</comment>
  Register local class prefix
  
  Register local class prefix name, <class>Yaf_Loader</class> search classes in two library directories, the one is
  configured via application.library.directory(in application.ini) which is called local libraray
  directory; the other is configured via yaf.library (in php.ini) which is callled global library
  directory, since it can be shared by many applications in the same server.
  
  When an autloading is trigger, <class>Yaf_Loader</class> will determine which library directory should be
  searched in by exame the prefix name of the missed classname.
   If the prefix name is registered as a localnamespack then look for it in local library directory,
  otherwise look for it in global library directory.  If yaf.library is not configured, then the
  global library directory is assumed to be the local library directory. in that case, all
  autoloading will look for local library directory.
   But if you want your Yaf application be strong, then always register your own classes as local
  classes.
  
  If yaf.library is not configured, then the global library directory is assumed to be the local
  library directory. in that case, all autoloading will look for local library directory.
   But if you want your Yaf application be strong, then always register your own classes as local
  classes.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$prefix</strong>  a string or a array of class name prefix. all class prefix with these prefix will
                  be loaded in local library path.

<comment>Return:</comment>
  <info>void</info>  bool


id: Yaf_Loader::registerNamespace
type: function
doc:
<comment>Description:</comment>
  Register namespace with searching path
  
  Register a namespace with searching path, <class>Yaf_Loader</class> searchs classes under this namespace in path,
  the one is also could be  configureded via  application.library.directory.namespace(in
  application.ini);
  
   Yaf still think underline as folder separator. 
  
  Yaf still think underline as folder separator.

<comment>Param:</comment>
  <info>      </info>  <strong>$namespace</strong>  a string of namespace, or a array of namespaces with paths.
  <info>string</info>  <strong>$path     </strong>  a string of path, it it better to use abosolute path here for performance

<comment>Return:</comment>
  <info>bool</info>  bool


id: Yaf_Loader::setLibraryPath
type: function
doc:
<comment>Description:</comment>
  Change the library path
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>Yaf_Loader</info>  


id: Yaf_Plugin_Abstract
type: class
doc:
<comment>Description:</comment>
  Plugins allow for easy extensibility and customization of the framework.
  
  Plugins are classes. The actual class definition will vary based on the component -- you may need
  to implement this interface, but the fact  remains that the plugin is itself a class.
  
  A plugin could be loaded into Yaf by using Yaf_Dispatcher::registerPlugin,  after registering, All
  the methods which the plugin implemented according to this interface, will be called at the proper
  time.


id: Yaf_Plugin_Abstract::dispatchLoopShutdown
type: function
doc:
<comment>Description:</comment>
  The dispatchLoopShutdown purpose
  
  This is the latest hook in Yaf plugin hook system, if a custom plugin implement this method, then
  it will be called after the dispatch loop finished.
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>Yaf_Request_Abstract </info>  <strong>$request </strong>  
  <info>Yaf_Response_Abstract</info>  <strong>$response</strong>  

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * Yaf_Plugin_Abstract::routerStartup
   * Yaf_Plugin_Abstract::routerShutdown
   * Yaf_Plugin_Abstract::dispatchLoopStartup
   * Yaf_Plugin_Abstract::preDispatch
   * Yaf_Plugin_Abstract::postDispatch


id: Yaf_Plugin_Abstract::dispatchLoopStartup
type: function
doc:
<comment>Description:</comment>
  Hook before dispatch loop

<comment>Param:</comment>
  <info>Yaf_Request_Abstract </info>  <strong>$request </strong>  
  <info>Yaf_Response_Abstract</info>  <strong>$response</strong>  

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Plugin_Abstract::postDispatch
type: function
doc:
<comment>Description:</comment>
  The postDispatch purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>Yaf_Request_Abstract </info>  <strong>$request </strong>  
  <info>Yaf_Response_Abstract</info>  <strong>$response</strong>  

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Plugin_Abstract::preDispatch
type: function
doc:
<comment>Description:</comment>
  The preDispatch purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>Yaf_Request_Abstract </info>  <strong>$request </strong>  
  <info>Yaf_Response_Abstract</info>  <strong>$response</strong>  

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Plugin_Abstract::preResponse
type: function
doc:
<comment>Description:</comment>
  The preResponse purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>Yaf_Request_Abstract </info>  <strong>$request </strong>  
  <info>Yaf_Response_Abstract</info>  <strong>$response</strong>  

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Plugin_Abstract::routerShutdown
type: function
doc:
<comment>Description:</comment>
  The routerShutdown purpose
  
  This hook will be trigged after the route process finished, this hook is usually used for login
  check.
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>Yaf_Request_Abstract </info>  <strong>$request </strong>  
  <info>Yaf_Response_Abstract</info>  <strong>$response</strong>  

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * Yaf_Plugin_Abstract::routerStartup
   * Yaf_Plugin_Abstract::dispatchLoopStartup
   * Yaf_Plugin_Abstract::preDispatch
   * Yaf_Plugin_Abstract::postDispatch
   * Yaf_Plugin_Abstract::dispatchLoopShutdown


id: Yaf_Plugin_Abstract::routerStartup
type: function
doc:
<comment>Description:</comment>
  RouterStartup hook
  
  This is the earliest hook in Yaf plugin hook system, if a custom plugin implement this method,
  then it will be called before routing a request.
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>Yaf_Request_Abstract </info>  <strong>$request </strong>  
  <info>Yaf_Response_Abstract</info>  <strong>$response</strong>  

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * Yaf_Plugin_Abstract::routerShutdown
   * Yaf_Plugin_Abstract::dispatchLoopStartup
   * Yaf_Plugin_Abstract::preDispatch
   * Yaf_Plugin_Abstract::postDispatch
   * Yaf_Plugin_Abstract::dispatchLoopShutdown


id: Yaf_Registry
type: class
doc:
<comment>Description:</comment>
  All methods of <class>Yaf_Registry</class> declared as static, making it unversally accessible. This provides the
  ability to get or set any custom data from anyway in your code as necessary.


id: Yaf_Registry::del
type: function
doc:
<comment>Description:</comment>
  Remove an item from registry
  
  Remove an item from registry

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Registry::get
type: function
doc:
<comment>Description:</comment>
  Retrieve an item from registry
  
  Retrieve an item from registry

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  

<comment>Return:</comment>
  <info>mixed</info>  


id: Yaf_Registry::has
type: function
doc:
<comment>Description:</comment>
  Check whether an item exists
  
  Check whether an item exists

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  

<comment>Return:</comment>
  <info>bool</info>  


id: Yaf_Registry::set
type: function
doc:
<comment>Description:</comment>
  Add an item into registry
  
  Add an item into registry

<comment>Param:</comment>
  <info>string</info>  <strong>$name </strong>  
  <info>string</info>  <strong>$value</strong>  

<comment>Return:</comment>
  <info>bool</info>  


id: Yaf_Request_Abstract::clearParams
type: function
doc:
<comment>Description:</comment>
  Remove all params
  
  Remove all params set by router, or Yaf_Request_Abstract::setParam

<comment>Return:</comment>
  <info>bool</info>  <info>bool</info>

<comment>See Also:</comment>
   * Yaf_Request_Abstract::isHead
   * Yaf_Request_Abstract::isGet
   * Yaf_Request_Abstract::isPost
   * Yaf_Request_Abstract::isPut
   * Yaf_Request_Abstract::isOptions
   * Yaf_Request_Abstract::isXmlHTTPRequest


id: Yaf_Request_Abstract::getActionName
type: function
doc:
<comment>Description:</comment>
  The getActionName purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Request_Abstract::getBaseUri
type: function
doc:
<comment>Description:</comment>
  The getBaseUri purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Request_Abstract::getControllerName
type: function
doc:
<comment>Description:</comment>
  The getControllerName purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Request_Abstract::getEnv
type: function
doc:
<comment>Description:</comment>
  Retrieve ENV varialbe
  
  Retrieve ENV variable

<comment>Param:</comment>
  <info>string</info>  <strong>$name   </strong>  the variable name
  <info>string</info>  <strong>$default</strong>  if this parameter is provide, this will be returned if the varialbe can not be
                    found

<comment>Return:</comment>
  <info>void</info>  Returns string

<comment>See Also:</comment>
   * Yaf_Request_Abstract::getServer
   * Yaf_Request_Abstract::getParam


id: Yaf_Request_Abstract::getException
type: function
doc:
<comment>Description:</comment>
  The getException purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Request_Abstract::getLanguage
type: function
doc:
<comment>Description:</comment>
  Retrieve client's prefered language

<comment>Return:</comment>
  <info>void</info>  Returns a string


id: Yaf_Request_Abstract::getMethod
type: function
doc:
<comment>Description:</comment>
  Retrieve the request method

<comment>Return:</comment>
  <info>string</info>  Return a string, like "POST", "GET" etc.

<comment>See Also:</comment>
   * Yaf_Request_Abstract::isHead
   * Yaf_Request_Abstract::isCli
   * Yaf_Request_Abstract::isPost
   * Yaf_Request_Abstract::isPut
   * Yaf_Request_Abstract::isOptions
   * Yaf_Request_Abstract::isXmlHTTPRequest


id: Yaf_Request_Abstract::getModuleName
type: function
doc:
<comment>Description:</comment>
  The getModuleName purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Request_Abstract::getParam
type: function
doc:
<comment>Description:</comment>
  Retrieve calling parameter

<comment>Param:</comment>
  <info>string</info>  <strong>$name   </strong>  
  <info>string</info>  <strong>$default</strong>  

<comment>Return:</comment>
  <info>mixed</info>  

<comment>See Also:</comment>
   * Yaf_Request_Abstract::setParam


id: Yaf_Request_Abstract::getParams
type: function
doc:
<comment>Description:</comment>
  Retrieve all calling parameters

<comment>Return:</comment>
  <info>array</info>  

<comment>See Also:</comment>
   * Yaf_Request_Abstract::setParam


id: Yaf_Request_Abstract::getRequestUri
type: function
doc:
<comment>Description:</comment>
  The getRequestUri purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Request_Abstract::getServer
type: function
doc:
<comment>Description:</comment>
  Retrieve SERVER variable
  
  Retrieve SERVER variable

<comment>Param:</comment>
  <info>string</info>  <strong>$name   </strong>  the variable name
  <info>string</info>  <strong>$default</strong>  if this parameter is provide, this will be returned if the variable can not be
                    found

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * Yaf_Request_Abstract::getParam
   * Yaf_Request_Abstract::getEnv


id: Yaf_Request_Abstract::isCli
type: function
doc:
<comment>Description:</comment>
  Determine if request is CLI request

<comment>Return:</comment>
  <info>bool</info>  bolean

<comment>See Also:</comment>
   * Yaf_Request_Abstract::isHead
   * Yaf_Request_Abstract::isGet
   * Yaf_Request_Abstract::isPost
   * Yaf_Request_Abstract::isPut
   * Yaf_Request_Abstract::isOptions
   * Yaf_Request_Abstract::isXmlHTTPRequest


id: Yaf_Request_Abstract::isDispatched
type: function
doc:
<comment>Description:</comment>
  Determin if the request is dispatched

<comment>Return:</comment>
  <info>bool</info>  boolean

<comment>See Also:</comment>
   * Yaf_Dispatcher::dispatch


id: Yaf_Request_Abstract::isGet
type: function
doc:
<comment>Description:</comment>
  Determine if request is GET request

<comment>Return:</comment>
  <info>bool</info>  boolean

<comment>See Also:</comment>
   * Yaf_Request_Abstract::isHead
   * Yaf_Request_Abstract::isCli
   * Yaf_Request_Abstract::isPost
   * Yaf_Request_Abstract::isPut
   * Yaf_Request_Abstract::isOptions
   * Yaf_Request_Abstract::isXmlHTTPRequest


id: Yaf_Request_Abstract::isHead
type: function
doc:
<comment>Description:</comment>
  Determine if request is HEAD request

<comment>Return:</comment>
  <info>bool</info>  boolean

<comment>See Also:</comment>
   * Yaf_Request_Abstract::isGet
   * Yaf_Request_Abstract::isCli
   * Yaf_Request_Abstract::isPost
   * Yaf_Request_Abstract::isPut
   * Yaf_Request_Abstract::isOptions
   * Yaf_Request_Abstract::isXmlHTTPRequest


id: Yaf_Request_Abstract::isOptions
type: function
doc:
<comment>Description:</comment>
  Determine if request is OPTIONS request

<comment>Return:</comment>
  <info>bool</info>  boolean


id: Yaf_Request_Abstract::isPost
type: function
doc:
<comment>Description:</comment>
  Determine if request is POST request

<comment>Return:</comment>
  <info>bool</info>  boolean

<comment>See Also:</comment>
   * Yaf_Request_Abstract::isGet
   * Yaf_Request_Abstract::isCli
   * Yaf_Request_Abstract::isHead
   * Yaf_Request_Abstract::isPut
   * Yaf_Request_Abstract::isOptions
   * Yaf_Request_Abstract::isXmlHTTPRequest


id: Yaf_Request_Abstract::isPut
type: function
doc:
<comment>Description:</comment>
  Determine if request is PUT request

<comment>Return:</comment>
  <info>bool</info>  boolean

<comment>See Also:</comment>
   * Yaf_Request_Abstract::isHead
   * Yaf_Request_Abstract::isCli
   * Yaf_Request_Abstract::isPost
   * Yaf_Request_Abstract::isGet
   * Yaf_Request_Abstract::isOptions
   * Yaf_Request_Abstract::isXmlHTTPRequest


id: Yaf_Request_Abstract::isRouted
type: function
doc:
<comment>Description:</comment>
  Determin if request has been routed

<comment>Return:</comment>
  <info>bool</info>  boolean


id: Yaf_Request_Abstract::isXmlHttpRequest
type: function
doc:
<comment>Description:</comment>
  Determine if request is AJAX request

<comment>Return:</comment>
  <info>bool</info>  boolean

<comment>See Also:</comment>
   * Yaf_Request_Abstract::isHead
   * Yaf_Request_Abstract::isCli
   * Yaf_Request_Abstract::isPost
   * Yaf_Request_Abstract::isPut
   * Yaf_Request_Abstract::isOptions
   * Yaf_Request_Abstract::isGet


id: Yaf_Request_Abstract::setActionName
type: function
doc:
<comment>Description:</comment>
  Set action name
  
  set action name to request, this is usually used by custom router to set route result controller
  name.

<comment>Param:</comment>
  <info>string</info>  <strong>$action     </strong>  <info>string</info>, action name, it should in lower case style, like "index" or
                        "foo_bar"
  <info>bool  </info>  <strong>$format_name</strong>  this is introduced in Yaf 3.2.0, by default Yaf will format the name into
                        lower case style, if this is set to <info>false</info> , Yaf will set the original name
                        to request.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Request_Abstract::setBaseUri
type: function
doc:
<comment>Description:</comment>
  Set base URI
  
  Set base URI, base URI is used when doing routing, in routing phase request URI is used to route a
  request,  while base URI is used to skip the leadding part(base URI) of request URI.
   That is, if comes a request with request URI a/b/c, then if you set base URI to "a/b", only "/c"
  will be used in routing phase.  generally, you don't need to set this, Yaf will determine it
  automatically.
  
  generally, you don't need to set this, Yaf will determine it automatically.

<comment>Param:</comment>
  <info>string</info>  <strong>$uir</strong>  base URI

<comment>Return:</comment>
  <info>bool</info>  bool


id: Yaf_Request_Abstract::setControllerName
type: function
doc:
<comment>Description:</comment>
  Set controller name
  
  set controller name to request, this is usually used by custom router to set route result
  controller name.

<comment>Param:</comment>
  <info>string</info>  <strong>$controller </strong>  <info>string</info>, controller name, this should be in camel style, like "Index" or
                        "Foo_Bar"
  <info>bool  </info>  <strong>$format_name</strong>  this is introduced in Yaf 3.2.0, by default Yaf will format the name into
                        camel mode, if this is set to <info>false</info> , Yaf will set the original name to
                        request.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Request_Abstract::setDispatched
type: function
doc:
<comment>Description:</comment>
  The setDispatched purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Request_Abstract::setModuleName
type: function
doc:
<comment>Description:</comment>
  Set module name
  
  set module name to request, this is usually used by custom router to set route result module name.

<comment>Param:</comment>
  <info>string</info>  <strong>$module     </strong>  <info>string</info> module name, it should be in camel style, like "Index" or "Foo_Bar"
  <info>bool  </info>  <strong>$format_name</strong>  this is introduced in Yaf 3.2.0, by default Yaf will format the name into
                        camel mode, if this is set to <info>false</info> , Yaf will set the original name to
                        request.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Request_Abstract::setParam
type: function
doc:
<comment>Description:</comment>
  Set a calling parameter to a request
  
  Set a parameter to request, which can be retrieved by Yaf_Request_Abstract::getParam

<comment>Param:</comment>
  <info>string</info>  <strong>$name </strong>  
  <info>string</info>  <strong>$value</strong>  

<comment>Return:</comment>
  <info>bool</info>  

<comment>See Also:</comment>
   * Yaf_Request_Abstract::getParam
   * Yaf_Request_Abstract::getParams


id: Yaf_Request_Abstract::setRequestUri
type: function
doc:
<comment>Description:</comment>
  The setRequestUri purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>string</info>  <strong>$uir</strong>  

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Request_Abstract::setRouted
type: function
doc:
<comment>Description:</comment>
  The setRouted purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>string</info>  <strong>$flag</strong>  

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Request_Http
type: class
doc:
<comment>Description:</comment>
  Any request from client is initialized as a <class>Yaf_Request_Http</class>. you can get the request information
  like, uri query and  post parameters via methods of this class.  For security, $_GET/$_POST are
  readonly in Yaf, which means if you set a value to these global variables, you can not get it from
  Yaf_Request_Http::getQuery or Yaf_Request_Http::getPost.   But there do is some usage need such
  feature, like unit testing. thus Yaf can be built with --enable-yaf-debug, which will allow Yaf
  read the value user set via script.  in such case, Yaf will throw a E_STRICT warning to remind you
  about that:  Strict Standards: you are running yaf in debug mode
  
  For security, $_GET/$_POST are readonly in Yaf, which means if you set a value to these global
  variables, you can not get it from Yaf_Request_Http::getQuery or Yaf_Request_Http::getPost.
  
  But there do is some usage need such feature, like unit testing. thus Yaf can be built with
  --enable-yaf-debug, which will allow Yaf read the value user set via script.
  
  in such case, Yaf will throw a E_STRICT warning to remind you about that:  Strict Standards: you
  are running yaf in debug mode


id: Yaf_Request_Http::__construct
type: function
doc:
<comment>Description:</comment>
  Constructor of Yaf_Request_Http
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.


id: Yaf_Request_Http::get
type: function
doc:
<comment>Description:</comment>
  Retrieve variable from client
  
  Retrieve variable from client, this method will search the <strong>$name</strong> in request pramas, if the name is
  not found, then will search in POST, GET, Cookie, Server

<comment>Param:</comment>
  <info>string</info>  <strong>$name   </strong>  the variable name
  <info>string</info>  <strong>$default</strong>  if this parameter is provide, this will be returned if the varialbe can not be
                    found

<comment>Return:</comment>
  <info>mixed</info>  

<comment>See Also:</comment>
   * Yaf_Request_Http::getQuery
   * Yaf_Request_Http::getPost
   * Yaf_Request_Http::getCookie
   * Yaf_Request_Http::getRaw
   * Yaf_Request_Abstract::getServer
   * Yaf_Request_Abstract::getParam


id: Yaf_Request_Http::getCookie
type: function
doc:
<comment>Description:</comment>
  Retrieve Cookie variable
  
  Retrieve Cookie variable

<comment>Param:</comment>
  <info>string</info>  <strong>$name   </strong>  the cookie name
  <info>string</info>  <strong>$default</strong>  if this parameter is provide, this will be returned if the cookie can not be
                    found

<comment>Return:</comment>
  <info>mixed</info>  

<comment>See Also:</comment>
   * Yaf_Request_Http::get
   * Yaf_Request_Http::getQuery
   * Yaf_Request_Http::getPost
   * Yaf_Request_Http::getRaw
   * Yaf_Request_Abstract::getServer
   * Yaf_Request_Abstract::getParam


id: Yaf_Request_Http::getFiles
type: function
doc:
<comment>Description:</comment>
  The getFiles purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Request_Http::getPost
type: function
doc:
<comment>Description:</comment>
  Retrieve POST variable
  
  Retrieve POST variable

<comment>Param:</comment>
  <info>string</info>  <strong>$name   </strong>  the variable name
  <info>string</info>  <strong>$default</strong>  if this parameter is provide, this will be returned if the varialbe can not be
                    found

<comment>Return:</comment>
  <info>mixed</info>  

<comment>See Also:</comment>
   * Yaf_Request_Http::get
   * Yaf_Request_Http::getQuery
   * Yaf_Request_Http::getCookie
   * Yaf_Request_Http::getRaw
   * Yaf_Request_Abstract::getServer
   * Yaf_Request_Abstract::getParam


id: Yaf_Request_Http::getQuery
type: function
doc:
<comment>Description:</comment>
  Fetch a query parameter
  
  Retrieve GET variable

<comment>Param:</comment>
  <info>string</info>  <strong>$name   </strong>  the variable name
  <info>string</info>  <strong>$default</strong>  if this parameter is provide, this will be returned if the variable can not be
                    found

<comment>Return:</comment>
  <info>mixed</info>  

<comment>See Also:</comment>
   * Yaf_Request_Http::get
   * Yaf_Request_Http::getPost
   * Yaf_Request_Http::getCookie
   * Yaf_Request_Http::getRaw
   * Yaf_Request_Abstract::getServer
   * Yaf_Request_Abstract::getParam


id: Yaf_Request_Http::getRaw
type: function
doc:
<comment>Description:</comment>
  Retrieve Raw request body
  
  Retrieve Raw request body

<comment>Return:</comment>
  <info>mixed</info>  Return string on success, FALSE on failure.

<comment>See Also:</comment>
   * Yaf_Request_Http::get
   * Yaf_Request_Http::getPost
   * Yaf_Request_Http::getCookie
   * Yaf_Request_Http::getQuery
   * Yaf_Request_Abstract::getServer
   * Yaf_Request_Abstract::getParam


id: Yaf_Request_Http::getRequest
type: function
doc:
<comment>Description:</comment>
  The getRequest purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Request_Http::isXmlHttpRequest
type: function
doc:
<comment>Description:</comment>
  Determin if request is Ajax Request
  
  Check the request whether it is a Ajax Request.  This method depends on the request header:
  HTTP_X_REQUESTED_WITH, some Javascript library doesn't set this header while doing Ajax request
  
  This method depends on the request header: HTTP_X_REQUESTED_WITH, some Javascript library doesn't
  set this header while doing Ajax request

<comment>Return:</comment>
  <info>bool</info>  boolean


id: Yaf_Request_Simple
type: class
doc:
<comment>Description:</comment>
  <class>Yaf_Request_Simple</class> is particularlly used for test puporse. ie. simulate some espacial request
  under CLI mode.


id: Yaf_Request_Simple::__construct
type: function
doc:
<comment>Description:</comment>
  Constructor of Yaf_Request_Simple
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.


id: Yaf_Request_Simple::get
type: function
doc:
<comment>Description:</comment>
  The get purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Request_Simple::getCookie
type: function
doc:
<comment>Description:</comment>
  The getCookie purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Request_Simple::getPost
type: function
doc:
<comment>Description:</comment>
  The getPost purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Request_Simple::getQuery
type: function
doc:
<comment>Description:</comment>
  The getQuery purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Request_Simple::isXmlHttpRequest
type: function
doc:
<comment>Description:</comment>
  Determin if request is AJAX request

<comment>Return:</comment>
  <info>void</info>  Always returns false for <class>Yaf_Request_Simple</class>

<comment>See Also:</comment>
   * Yaf_Request_Abstract::isXmlHTTPRequest
   * Yaf_Request_Http::isXmlHTTPRequest


id: Yaf_Response_Abstract::__destruct
type: function
doc:
<comment>Description:</comment>
  The __destruct purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Response_Abstract::__toString
type: function
doc:
<comment>Description:</comment>
  Retrieve all bodys as string

<comment>Return:</comment>
  <info>string</info>  


id: Yaf_Response_Abstract::appendBody
type: function
doc:
<comment>Description:</comment>
  Append to response body
  
  Append a content to a exists content block

<comment>Param:</comment>
  <info>      </info>  <strong>$body</strong>  content string
  <info>string</info>  <strong>$key </strong>  the content key, you can set a content with a key, if you don't specific, then
                 Yaf_Response_Abstract::DEFAULT_BODY will be used  this parameter is introduced as
                 of 2.2.0
                 
                 this parameter is introduced as of 2.2.0

<comment>Return:</comment>
  <info>bool</info>  bool

<comment>See Also:</comment>
   * Yaf_Response_Abstract::getBody
   * Yaf_Response_Abstract::setBody
   * Yaf_Response_Abstract::prependBody
   * Yaf_Response_Abstract::clearBody


id: Yaf_Response_Abstract::clearBody
type: function
doc:
<comment>Description:</comment>
  Discard all exists response body
  
  Clear existsed content

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  the content key, if you don't specific, then all contents will be cleared.  this
                parameter is introduced as of 2.2.0
                
                this parameter is introduced as of 2.2.0

<comment>Return:</comment>
  <info>bool</info>  

<comment>See Also:</comment>
   * Yaf_Response_Abstract::setBody
   * Yaf_Response_Abstract::appendBody
   * Yaf_Response_Abstract::prependBody
   * Yaf_Response_Abstract::getBody


id: Yaf_Response_Abstract::clearHeaders
type: function
doc:
<comment>Description:</comment>
  Discard all set headers

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * Yaf_Response_Abstract::getHeader
   * Yaf_Response_Abstract::setHeader


id: Yaf_Response_Abstract::getBody
type: function
doc:
<comment>Description:</comment>
  Retrieve a exists content
  
  Retrieve a exists content

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  the content key, if you don't specific, then Yaf_Response_Abstract::DEFAULT_BODY
                will be used. if you pass in a <info>null</info>, then all contents will be returned as a array
                this parameter is introduced as of 2.2.0
                
                this parameter is introduced as of 2.2.0

<comment>Return:</comment>
  <info>mixed</info>  

<comment>See Also:</comment>
   * Yaf_Response_Abstract::setBody
   * Yaf_Response_Abstract::appendBody
   * Yaf_Response_Abstract::prependBody
   * Yaf_Response_Abstract::clearBody


id: Yaf_Response_Abstract::getHeader
type: function
doc:
<comment>Description:</comment>
  The getHeader purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * Yaf_Response_Abstract::setHeader
   * Yaf_Response_Abstract::cleanHeaders


id: Yaf_Response_Abstract::prependBody
type: function
doc:
<comment>Description:</comment>
  The prependBody purpose
  
  prepend a content to a exists content block

<comment>Param:</comment>
  <info>      </info>  <strong>$body</strong>  content string
  <info>string</info>  <strong>$key </strong>  the content key, you can set a content with a key, if you don't specific, then
                 Yaf_Response_Abstract::DEFAULT_BODY will be used  this parameter is introduced as
                 of 2.2.0
                 
                 this parameter is introduced as of 2.2.0

<comment>Return:</comment>
  <info>bool</info>  bool

<comment>See Also:</comment>
   * Yaf_Response_Abstract::getBody
   * Yaf_Response_Abstract::setBody
   * Yaf_Response_Abstract::appendBody
   * Yaf_Response_Abstract::clearBody


id: Yaf_Response_Abstract::response
type: function
doc:
<comment>Description:</comment>
  Send response
  
  send response

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * Yaf_Response_Abstract::setBody
   * Yaf_Response_Abstract::clearBody


id: Yaf_Response_Abstract::setAllHeaders
type: function
doc:
<comment>Description:</comment>
  The setAllHeaders purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Response_Abstract::setBody
type: function
doc:
<comment>Description:</comment>
  Set content to response
  
  Set content to response

<comment>Param:</comment>
  <info>      </info>  <strong>$body</strong>  content string
  <info>string</info>  <strong>$key </strong>  the content key, you can set a content with a key, if you don't specific, then
                 Yaf_Response_Abstract::DEFAULT_BODY will be used  this parameter is introduced as
                 of 2.2.0
                 
                 this parameter is introduced as of 2.2.0

<comment>Return:</comment>
  <info>bool</info>  

<comment>See Also:</comment>
   * Yaf_Response_Abstract::getBody
   * Yaf_Response_Abstract::appendBody
   * Yaf_Response_Abstract::prependBody
   * Yaf_Response_Abstract::clearBody


id: Yaf_Response_Abstract::setHeader
type: function
doc:
<comment>Description:</comment>
  Set reponse header
  
  Used to send a HTTP header

<comment>Return:</comment>
  <info>bool</info>  

<comment>See Also:</comment>
   * Yaf_Response_Abstract::getHeader
   * Yaf_Response_Abstract::cleanHeaders


id: Yaf_Response_Abstract::setRedirect
type: function
doc:
<comment>Description:</comment>
  The setRedirect purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Route_Interface
type: class
doc:
<comment>Description:</comment>
  <class>Yaf_Route_Interface</class> used for developer defined their custom route.


id: Yaf_Route_Interface::assemble
type: function
doc:
<comment>Description:</comment>
  Assemble a request
  
  this method returns a url according to the argument info, and append query strings to the url
  according to the argument query.
  
  a route should implement this method according to its own route rules, and do a reverse progress.

<comment>Param:</comment>
  <info>array</info>  <strong>$info </strong>  
  <info>array</info>  <strong>$query</strong>  

<comment>Return:</comment>
  <info>string</info>  


id: Yaf_Route_Interface::route
type: function
doc:
<comment>Description:</comment>
  Route a request
  
  Yaf_Route_Interface::route is the only method that a custom route should implement.  since of
  2.3.0, there is another method should also be implemented, see Yaf_Route_Interface::assemble.
  
  since of 2.3.0, there is another method should also be implemented, see
  Yaf_Route_Interface::assemble.
  
  if this method return <info>true</info>, then the route process will be end. otherwise, <class>Yaf_Router</class> will call
  next route in the route stack to route request.
  
  This method would set the route result to the parameter request, by calling
  Yaf_Request_Abstract::setControllerName, Yaf_Request_Abstract::setActionName and
  Yaf_Request_Abstract::setModuleName.
  
  This method should also call Yaf_Request_Abstract::setRouted to make the request routed at last.

<comment>Param:</comment>
  <info>Yaf_Request_Abstract</info>  <strong>$request</strong>  A <class>Yaf_Request_Abstract</class> instance.

<comment>Return:</comment>
  <info>bool</info>  


id: Yaf_Route_Map
type: class
doc:
<comment>Description:</comment>
  <class>Yaf_Route_Map</class> is a built-in route, it simply convert a URI endpoint (that part of the URI which
  comes after the base URI: see Yaf_Request_Abstract::setBaseUri) to a controller name or action
  name(depends on the parameter passed to Yaf_Route_Map::__construct) in following rule: A =&gt;
  controller A. A/B/C =&gt; controller A_B_C. A/B/C/D/E =&gt; controller A_B_C_D_E.
  
  If the second parameter of Yaf_Route_Map::__construct is specified, then only the part before
  delimiter of URI will used to routing, the part after it is used to routing request parameters
  (see the example section of Yaf_Route_Map::__construct).


id: Yaf_Route_Map::__construct
type: function
doc:
<comment>Description:</comment>
  The __construct purpose

<comment>Param:</comment>
  <info>string</info>  <strong>$controller_prefer</strong>  Whether the result should considering as controller or action
  <info>string</info>  <strong>$delimiter        </strong>  

<comment>See Also:</comment>
   * Yaf_Router::addRoute
   * <class>Yaf_Route_Static</class>
   * <class>Yaf_Route_Supervar</class>
   * <class>Yaf_Route_Simple</class>
   * <class>Yaf_Route_Regex</class>
   * <class>Yaf_Route_Rewrite</class>


id: Yaf_Route_Map::assemble
type: function
doc:
<comment>Description:</comment>
  Assemble a url
  
  Assemble a url.

<comment>Param:</comment>
  <info>array</info>  <strong>$info </strong>  
  <info>array</info>  <strong>$query</strong>  

<comment>Return:</comment>
  <info>string</info>  


id: Yaf_Route_Map::route
type: function
doc:
<comment>Description:</comment>
  The route purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>Yaf_Request_Abstract</info>  <strong>$request</strong>  

<comment>Return:</comment>
  <info>bool</info>  


id: Yaf_Route_Regex
type: class
doc:
<comment>Description:</comment>
  <class>Yaf_Route_Regex</class> is the most flexible route among the Yaf built-in routes.


id: Yaf_Route_Regex::__construct
type: function
doc:
<comment>Description:</comment>
  Yaf_Route_Regex constructor

<comment>Param:</comment>
  <info>string</info>  <strong>$match  </strong>  A complete Regex pattern, will be used to match a request uri, if doesn't
                    matched, <class>Yaf_Route_Regex</class> will return <info>false</info>.
  <info>array </info>  <strong>$route  </strong>  When the match pattern matches the request uri, <class>Yaf_Route_Regex</class> will use this to
                    decide which m/c/a to routed.
                    
                    either of m/c/a in this array is optianl, if you don't assgian a specific value,
                    it will be routed to default.
  <info>array </info>  <strong>$map    </strong>  A array to assign name to the captrues in the match result.
  <info>array </info>  <strong>$verify </strong>  
  <info>string</info>  <strong>$reverse</strong>  a string, used to assemble url, see Yaf_Route_Regex::assemble.  this parameter
                    is introduced in 2.3.0
                    
                    this parameter is introduced in 2.3.0

<comment>See Also:</comment>
   * Yaf_Router::addRoute
   * Yaf_Router::addConfig
   * <class>Yaf_Route_Static</class>
   * <class>Yaf_Route_Supervar</class>
   * <class>Yaf_Route_Simple</class>
   * <class>Yaf_Route_Rewrite</class>
   * <class>Yaf_Route_Map</class>


id: Yaf_Route_Regex::route
type: function
doc:
<comment>Description:</comment>
  The route purpose
  
  Route a incoming request.
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>Yaf_Request_Abstract</info>  <strong>$request</strong>  

<comment>Return:</comment>
  <info>bool</info>  If the pattern given by the first parameter of  Yaf_Route_Regex::_construct matche the
        request uri, return <info>true</info>, otherwise return <info>false</info>.


id: Yaf_Route_Rewrite
type: class
doc:
<comment>Description:</comment>
  For usage, please see the example section of Yaf_Route_Rewrite::__construct


id: Yaf_Route_Rewrite::__construct
type: function
doc:
<comment>Description:</comment>
  Yaf_Route_Rewrite constructor

<comment>Param:</comment>
  <info>string</info>  <strong>$match </strong>  A pattern, will be used to match a request uri, if it doesn't match,
                   <class>Yaf_Route_Rewrite</class> will return <info>false</info>.
                   
                   You can use :name style to name segments matched, and use * to match the rest of
                   the URL segments.
  <info>array </info>  <strong>$route </strong>  When the match pattern matches the request uri, <class>Yaf_Route_Rewrite</class> will use this
                   to decide which module/controller/action is the destination.
                   
                   Either of module/controller/action in this array is optional, if you don't assign
                   a specific value, it will be routed to default.
  <info>array </info>  <strong>$verify</strong>  

<comment>See Also:</comment>
   * Yaf_Router::addRoute
   * Yaf_Router::addConfig
   * <class>Yaf_Route_Static</class>
   * <class>Yaf_Route_Supervar</class>
   * <class>Yaf_Route_Simple</class>
   * <class>Yaf_Route_Regex</class>
   * <class>Yaf_Route_Map</class>


id: Yaf_Route_Rewrite::route
type: function
doc:
<comment>Description:</comment>
  The route purpose

<comment>Param:</comment>
  <info>Yaf_Request_Abstract</info>  <strong>$request</strong>  

<comment>Return:</comment>
  <info>bool</info>  


id: Yaf_Route_Simple
type: class
doc:
<comment>Description:</comment>
  <class>Yaf_Route_Simple</class> will match the query string, and find the route info.
  
  all you need to do is tell <class>Yaf_Route_Simple</class> what key in the $_GET is module, what key is
  controller, and what key is action.
  
  Yaf_Route_Simple::route will always return <info>true</info>, so it is important put <class>Yaf_Route_Simple</class> in the
  front of the Route stack, otherwise all the other routes will not be called.


id: Yaf_Route_Simple::__construct
type: function
doc:
<comment>Description:</comment>
  Yaf_Route_Simple constructor
  
  <class>Yaf_Route_Simple</class> will get route info from query string. and the parameters of this constructor
  will used as keys while searching for the route info in $_GET.
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>string</info>  <strong>$module_name    </strong>  The key name of the module info.
  <info>string</info>  <strong>$controller_name</strong>  the key name of the controller info.
  <info>string</info>  <strong>$action_name    </strong>  the key name of the action info.

<comment>Return:</comment>
  <info>unknown</info>  Always return <info>true</info>.

<comment>See Also:</comment>
   * Yaf_Route_Supervar::route
   * Yaf_Route_Static::route
   * Yaf_Route_Regex::route
   * Yaf_Route_Rewrite::route
   * Yaf_Route_Map::route


id: Yaf_Route_Simple::route
type: function
doc:
<comment>Description:</comment>
  Route a request
  
  see Yaf_Route_Simple::__construct
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>Yaf_Request_Abstract</info>  <strong>$request</strong>  

<comment>Return:</comment>
  <info>bool</info>  always be <info>true</info>

<comment>See Also:</comment>
   * Yaf_Route_Supervar::route
   * Yaf_Route_Static::route
   * Yaf_Route_Regex::route
   * Yaf_Route_Rewrite::route
   * Yaf_Route_Map::route


id: Yaf_Route_Static
type: class
doc:
<comment>Description:</comment>
  Defaultly, <class>Yaf_Router</class> only have a <class>Yaf_Route_Static</class> as its default route.
  
  And <class>Yaf_Route_Static</class> is designed to handle the 80% requirement.
  
  please *NOTE* that it is unnecessary to instance a <class>Yaf_Route_Static</class>, also  unecesary to add it
  into <class>Yaf_Router</class>'s routes stack, since there is always be one in <class>Yaf_Router</class>'s routes stack, and
  always be called at the last time.


id: Yaf_Route_Static::match
type: function
doc:
<comment>Description:</comment>
  The match purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>string</info>  <strong>$uri</strong>  

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Route_Static::route
type: function
doc:
<comment>Description:</comment>
  Route a request
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>Yaf_Request_Abstract</info>  <strong>$request</strong>  

<comment>Return:</comment>
  <info>bool</info>  always be <info>true</info>

<comment>See Also:</comment>
   * Yaf_Route_Supervar::route
   * Yaf_Route_Simple::route
   * Yaf_Route_Regex::route
   * Yaf_Route_Rewrite::route
   * Yaf_Route_Map::route


id: Yaf_Route_Supervar::__construct
type: function
doc:
<comment>Description:</comment>
  The __construct purpose
  
  <class>Yaf_Route_Supervar</class> is similar with <class>Yaf_Route_Static</class>, the difference is <class>Yaf_Route_Supervar</class> will
  look for path info in query string, and the parameter supervar_name is the key.

<comment>Param:</comment>
  <info>string</info>  <strong>$supervar_name</strong>  The name of key.

<comment>See Also:</comment>
   * Yaf_Router::addRoute
   * Yaf_Router::addConfig
   * <class>Yaf_Route_Static</class>
   * <class>Yaf_Route_Regex</class>
   * <class>Yaf_Route_Simple</class>
   * <class>Yaf_Route_Rewrite</class>
   * <class>Yaf_Route_Map</class>


id: Yaf_Route_Supervar::route
type: function
doc:
<comment>Description:</comment>
  The route purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>Yaf_Request_Abstract</info>  <strong>$request</strong>  

<comment>Return:</comment>
  <info>bool</info>  If there is a key(which was defined in Yaf_Route_Supervar::__construct) in $_GET, return
        <info>true</info>. otherwise return <info>false</info>.


id: Yaf_Router
type: class
doc:
<comment>Description:</comment>
  <class>Yaf_Router</class> is the standard framework router. Routing is the process of taking a URI endpoint (that
  part of the URI which comes after the base URI: see Yaf_Request_Abstract::setBaseUri) and
  decomposing it into parameters to determine which module, controller, and action of that
  controller should receive the request. This values of the module, controller, action and other
  parameters are packaged into a <class>Yaf_Request_Abstract</class> object which is then processed by
  <class>Yaf_Dispatcher</class>. Routing occurs only once: when the request is initially received and before the
  first controller is dispatched.
   <class>Yaf_Router</class> is designed to allow for mod_rewrite-like functionality using pure PHP structures. It
  is very loosely based on Ruby on Rails routing and does not require any prior knowledge of
  webserver URL rewriting. It is designed to work with a single Apache mod_rewrite rule (one of):
  Rewrite rule for Apache or (preferred): Rewrite rule for Apache If using Lighttpd, the following
  rewrite rule is valid: Rewrite rule for Lighttpd "/index.php?$1",
  ".*\.(js|ico|gif|jpg|png|css|html)$" => "$0", "" => "/index.php"
  )
  ]]> If using Nginx, use the following rewrite rule: Rewrite rule for Nginx


id: Yaf_Router::addConfig
type: function
doc:
<comment>Description:</comment>
  Add config-defined routes into Router
  
  Add routes defined by configs into <class>Yaf_Router</class>'s route stack

<comment>Return:</comment>
  <info>bool</info>  An <class>Yaf_Config_Abstract</class> instance, which should contains one or more valid route configs

<comment>See Also:</comment>
   * Yaf_Router::addRoute
   * <class>Yaf_Route_Static</class>
   * <class>Yaf_Route_Supervar</class>
   * <class>Yaf_Route_Simple</class>
   * <class>Yaf_Route_Regex</class>
   * <class>Yaf_Route_Rewrite</class>
   * <class>Yaf_Route_Map</class>


id: Yaf_Router::addRoute
type: function
doc:
<comment>Description:</comment>
  Add new Route into Router
  
  defaultly, Yaf_Router using a <class>Yaf_Route_Static</class> as its defualt route. you can add new routes into
  router's route stack by calling this method.
  
  the newer route will be called before the older(route stack), and if the newer router return <info>true</info>,
  the router process will be end. otherwise, the older one will be called.

<comment>Return:</comment>
  <info>bool</info>  

<comment>See Also:</comment>
   * Yaf_Router::addConfig
   * <class>Yaf_Route_Static</class>
   * <class>Yaf_Route_Supervar</class>
   * <class>Yaf_Route_Simple</class>
   * <class>Yaf_Route_Regex</class>
   * <class>Yaf_Route_Rewrite</class>
   * <class>Yaf_Route_Map</class>


id: Yaf_Router::getCurrentRoute
type: function
doc:
<comment>Description:</comment>
  Get the effective route name
  
  Get the name of the route which is effective in the route process.  You should call this method
  after the route process finished, since before that, this method will always return <info>null</info>.
  
  You should call this method after the route process finished, since before that, this method will
  always return <info>null</info>.

<comment>Return:</comment>
  <info>string</info>  String, the name of the effective route.

<comment>See Also:</comment>
   * <class>Yaf_Bootstrap_Abstract</class>
   * <class>Yaf_Plugin_Abstract</class>
   * Yaf_Router::addRoute


id: Yaf_Router::getRoute
type: function
doc:
<comment>Description:</comment>
  Retrieve a route by name
  
  Retrieve a route by name, see also Yaf_Router::getCurrentRoute

<comment>Return:</comment>
  <info>Yaf_Route_Interface</info>  

<comment>See Also:</comment>
   * <class>Yaf_Bootstrap_Abstract</class>
   * <class>Yaf_Plugin_Abstract</class>
   * Yaf_Router::addRoute
   * Yaf_Router::getCurrentRoute


id: Yaf_Router::getRoutes
type: function
doc:
<comment>Description:</comment>
  Retrieve registered routes
  
  Retrieve registered routes

<comment>Return:</comment>
  <info>mixed</info>  


id: Yaf_Router::route
type: function
doc:
<comment>Description:</comment>
  The route purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>bool</info>  


id: Yaf_Session::__construct
type: function
doc:
<comment>Description:</comment>
  Constructor of Yaf_Session
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.


id: Yaf_Session::__unset
type: function
doc:
<comment>Description:</comment>
  The __unset purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Session::del
type: function
doc:
<comment>Description:</comment>
  The del purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Session::has
type: function
doc:
<comment>Description:</comment>
  The has purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_Session::start
type: function
doc:
<comment>Description:</comment>
  The start purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_View_Interface
type: class
doc:
<comment>Description:</comment>
  Yaf provides a ability for developers to use custom view engine instead of built-in engine which
  is <class>Yaf_View_Simple</class>. There  is a example to explain how to do this, please see
  Yaf_Dispatcher::setView.


id: Yaf_View_Interface::assign
type: function
doc:
<comment>Description:</comment>
  Assign value to View engine
  
  Assigan values to View engine, then the value can access directly by name in template.
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>string</info>  <strong>$name </strong>  
  <info>string</info>  <strong>$value</strong>  

<comment>Return:</comment>
  <info>bool</info>  


id: Yaf_View_Interface::display
type: function
doc:
<comment>Description:</comment>
  Render and output a template
  
  Render a template and output the result immediatly.
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>string</info>  <strong>$tpl     </strong>  
  <info>array </info>  <strong>$tpl_vars</strong>  

<comment>Return:</comment>
  <info>bool</info>  


id: Yaf_View_Interface::getScriptPath
type: function
doc:
<comment>Description:</comment>
  The getScriptPath purpose
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_View_Interface::render
type: function
doc:
<comment>Description:</comment>
  Render a template
  
  Render a template and return the result.
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>string</info>  <strong>$tpl     </strong>  
  <info>array </info>  <strong>$tpl_vars</strong>  

<comment>Return:</comment>
  <info>string</info>  


id: Yaf_View_Interface::setScriptPath
type: function
doc:
<comment>Description:</comment>
  The setScriptPath purpose
  
  Set the templates base directory, this is usually called by <class>Yaf_Dispatcher</class>
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>string</info>  <strong>$template_dir</strong>  A absolute path to the template directory, by default, <class>Yaf_Dispatcher</class> use
                         application.directory . "/views" as this paramter.

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_View_Simple
type: class
doc:
<comment>Description:</comment>
  <class>Yaf_View_Simple</class> is the built-in template engine in Yaf, it is a simple but fast template engine,
  and only support PHP script template.


id: Yaf_View_Simple::__construct
type: function
doc:
<comment>Description:</comment>
  Constructor of Yaf_View_Simple

<comment>Param:</comment>
  <info>string</info>  <strong>$template_dir</strong>  The base directory of the templates,  by default,  it is APPLICATOIN .
                         "/views" for Yaf.
  <info>array </info>  <strong>$options     </strong>  


id: Yaf_View_Simple::__get
type: function
doc:
<comment>Description:</comment>
  Retrieve assigned variable
  
  Retrieve assigned varaiable  parameter can be empty since 2.1.11 
  
  parameter can be empty since 2.1.11

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  the assigned variable name
                 
                 if this is empty, all assigned variables will be returned

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_View_Simple::__isset
type: function
doc:
<comment>Description:</comment>
  The __isset purpose

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  

<comment>Return:</comment>
  <info>void</info>  


id: Yaf_View_Simple::__set
type: function
doc:
<comment>Description:</comment>
  Set value to engine
  
  This is a alternative and easier way to  Yaf_View_Simple::assign.

<comment>Param:</comment>
  <info>string</info>  <strong>$name </strong>  A string value name.
  <info>mixed </info>  <strong>$value</strong>  Mixed value.

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * Yaf_View_Simple::assignRef
   * Yaf_View_Interface::assign


id: Yaf_View_Simple::assign
type: function
doc:
<comment>Description:</comment>
  Assign values
  
  assign variable to view engine

<comment>Param:</comment>
  <info>string</info>  <strong>$name </strong>  A string or an array.
                  
                  if is string, then the next argument $value is required.
  <info>mixed </info>  <strong>$value</strong>  mixed value

<comment>Return:</comment>
  <info>bool</info>  

<comment>See Also:</comment>
   * Yaf_View_Simple::assignRef
   * Yaf_View_Interface::clear
   * Yaf_View_Simple::__set


id: Yaf_View_Simple::assignRef
type: function
doc:
<comment>Description:</comment>
  The assignRef purpose
  
  unlike Yaf_View_Simple::assign, this method assign a ref value to engine.

<comment>Param:</comment>
  <info>string</info>  <strong>$name </strong>  A string name which will be used to access the value in the tempalte.
  <info>mixed </info>  <strong>$value</strong>  mixed value

<comment>Return:</comment>
  <info>bool</info>  

<comment>See Also:</comment>
   * Yaf_View_Simple::assign
   * Yaf_View_Simple::__set


id: Yaf_View_Simple::clear
type: function
doc:
<comment>Description:</comment>
  Clear Assigned values
  
  clear assigned variable

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  assigned variable name
                 
                 if empty, will clear all assigned variables

<comment>Return:</comment>
  <info>bool</info>  

<comment>See Also:</comment>
   * Yaf_View_Simple::assignRef
   * Yaf_View_Interface::assign
   * Yaf_View_Simple::__set


id: Yaf_View_Simple::display
type: function
doc:
<comment>Description:</comment>
  Render and display
  
  Render a template and display the result instantly.

<comment>Param:</comment>
  <info>string</info>  <strong>$tpl     </strong>  
  <info>array </info>  <strong>$tpl_vars</strong>  

<comment>Return:</comment>
  <info>bool</info>  


id: Yaf_View_Simple::eval
type: function
doc:
<comment>Description:</comment>
  Render template
  
  Render a string tempalte and return the result.

<comment>Param:</comment>
  <info>string</info>  <strong>$tpl_content</strong>  string template
  <info>array </info>  <strong>$tpl_vars   </strong>  

<comment>Return:</comment>
  <info>string</info>  


id: Yaf_View_Simple::getScriptPath
type: function
doc:
<comment>Description:</comment>
  Get templates directory

<comment>Return:</comment>
  <info>string</info>  


id: Yaf_View_Simple::render
type: function
doc:
<comment>Description:</comment>
  Render template
  
  Render a template and return the result.

<comment>Param:</comment>
  <info>string</info>  <strong>$tpl     </strong>  
  <info>array </info>  <strong>$tpl_vars</strong>  

<comment>Return:</comment>
  <info>string</info>  


id: Yaf_View_Simple::setScriptPath
type: function
doc:
<comment>Description:</comment>
  Set tempaltes directory

<comment>Param:</comment>
  <info>string</info>  <strong>$template_dir</strong>  

<comment>Return:</comment>
  <info>bool</info>  


id: Yar_Client::__call
type: function
doc:
<comment>Description:</comment>
  Call service
  
  Issue a call to remote RPC method.

<comment>Param:</comment>
  <info>string</info>  <strong>$method    </strong>  Remote RPC method name.
  <info>array </info>  <strong>$parameters</strong>  Parameters.

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * Yar_Client::setOpt


id: Yar_Client::__construct
type: function
doc:
<comment>Description:</comment>
  Create a client
  
  Create a <class>Yar_Client</class> to a <class>Yar_Server</class>.

<comment>Param:</comment>
  <info>string</info>  <strong>$url</strong>  Yar Server URL.

<comment>Return:</comment>
  <info>unknown</info>  <class>Yar_Client</class> instance.

<comment>See Also:</comment>
   * Yar_Client::__call
   * Yar_Client::setOpt


id: Yar_Client::setOpt
type: function
doc:
<comment>Description:</comment>
  Set calling contexts

<comment>Param:</comment>
  <info>int  </info>  <strong>$name </strong>  it can be: YAR_OPT_PACKAGER, YAR_OPT_PERSISTENT (Need server support),
                 YAR_OPT_TIMEOUT, YAR_OPT_CONNECT_TIMEOUT YAR_OPT_HEADER (Since 2.0.4)
  <info>mixed</info>  <strong>$value</strong>  

<comment>Return:</comment>
  <info>Yar_Clientfalse</info>  Returns $this on success sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * Yar_Client::__call


id: Yar_Client_Exception::getType
type: function
doc:
<comment>Description:</comment>
  Retrieve exception's type

<comment>Return:</comment>
  <info>string</info>  Returns <return>"Yar_Exception_Client"</return>.

<comment>See Also:</comment>
   * Yaf_Server_Exception::getType


id: Yar_Concurrent_Client::call
type: function
doc:
<comment>Description:</comment>
  Register a concurrent call
  
  Register a RPC call, but won't sent it immediately, it will be send while further call to
  Yar_Concurrent_Client::loop

<comment>Param:</comment>
  <info>string  </info>  <strong>$uri       </strong>  The RPC server URI(http, tcp)
  <info>string  </info>  <strong>$method    </strong>  Service name(aka the method name)
  <info>array   </info>  <strong>$parameters</strong>  Parameters
  <info>callable</info>  <strong>$callback  </strong>  A function callback, which will be called while the response return.

<comment>Return:</comment>
  <info>int</info>  An unique id, can be used to identified which call it is.

<comment>See Also:</comment>
   * Yar_Concurrent_Client::loop
   * Yar_Concurrent_Client::reset
   * Yar_Server::__construct
   * Yar_Server::handle


id: Yar_Concurrent_Client::loop
type: function
doc:
<comment>Description:</comment>
  Send all calls
  
  Send all registed remote RPC calls.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback      </strong>  If this callback is set, then Yar will call this callback after all
                             calls are sent and before any response return, with a $callinfo NULL.
                             
                             Then, if user didn't specify callback when registering concurrent call,
                             this callback will be used to handle response, otherwise, the callback
                             specified while registering will be used.
  <info>callable</info>  <strong>$error_callback</strong>  If this callback is set, then Yar will call this callback while error
                             occurred.

<comment>Return:</comment>
  <info>bool</info>  

<comment>See Also:</comment>
   * Yar_Concurrent_Client::call
   * Yar_Concurrent_Client::reset
   * Yar_Server::__construct
   * Yar_Server::handle


id: Yar_Concurrent_Client::reset
type: function
doc:
<comment>Description:</comment>
  Clean all registered calls
  
  Clean all registered calls

<comment>Return:</comment>
  <info>bool</info>  

<comment>See Also:</comment>
   * Yar_Concurrent_Client::call
   * Yar_Concurrent_Client::loop
   * Yar_Server::__construct
   * Yar_Server::handle


id: Yar_Server::__construct
type: function
doc:
<comment>Description:</comment>
  Register a server
  
  Set up a Yar HTTP RPC Server, All the public methods of $obj will be register as a RPC service.

<comment>Param:</comment>
  <info>Object</info>  <strong>$obj</strong>  An Object, all public methods of its will be registered as RPC services.

<comment>Return:</comment>
  <info>unknown</info>  An instance of <class>Yar_Server</class>.

<comment>See Also:</comment>
   * Yar_Server::handle


id: Yar_Server::handle
type: function
doc:
<comment>Description:</comment>
  Start RPC Server
  
  Start a RPC HTTP server, and ready for accpet RPC requests.  Usual RPC calls will be issued as
  HTTP POST requests. If a HTTP GET request is issued to the uri, the service information (commented
  section above) will be printed on the page
  
  Usual RPC calls will be issued as HTTP POST requests. If a HTTP GET request is issued to the uri,
  the service information (commented section above) will be printed on the page

<comment>Return:</comment>
  <info>bool</info>  boolean

<comment>See Also:</comment>
   * Yar_Server::__construct


id: Yar_Server_Exception
type: class
doc:
<comment>Description:</comment>
  If service threw exceptions, A Yar_Server_Exception will be threw in client side.


id: Yar_Server_Exception::getType
type: function
doc:
<comment>Description:</comment>
  Retrieve exception's type
  
  Get the exception original type threw by server

<comment>Return:</comment>
  <info>string</info>  string

<comment>See Also:</comment>
   * 


id: ZEND_ACC_CLASS
type: constant
doc:
<comment>Description:</comment>
  Dummy registered for consistency, the default kind of class entry. Removed as of uopz 5.0.0.


id: ZEND_ADD_INTERFACE
type: constant
doc:
<comment>Description:</comment>
  Invoked upon composure, receives the class the interface is being added to as the first argument,
  and the name of the interface as the second argument


id: ZEND_ADD_TRAIT
type: constant
doc:
<comment>Description:</comment>
  Invoked upon composure, receives the class the trait is being added to as the first argument, and
  the name of the trait as the second argument


id: ZEND_EXIT
type: constant
doc:
<comment>Description:</comment>
  Invoked by exit() and die(), receives no arguments. Return boolean <info>true</info> to exit, <info>false</info> to continue


id: ZEND_FETCH_CLASS
type: constant
doc:
<comment>Description:</comment>
  Invoked upon composure, receives the class the name of the class being fetched as the only
  argument


id: ZEND_INSTANCEOF
type: constant
doc:
<comment>Description:</comment>
  Invoked by instanceof operator, receives the object being verified as the first argument, and the
  name of the class which that object should be as the second argument


id: ZEND_NEW
type: constant
doc:
<comment>Description:</comment>
  Invoked by object construction, receives the class of object being created as the only argument


id: ZEND_THROW
type: constant
doc:
<comment>Description:</comment>
  Invoked by the throw construct, receives the class of exception being thrown as the only argument


id: ZLIB_ENCODING_DEFLATE
type: constant
doc:
<comment>Description:</comment>
  Algoritmul de compresie ZLIB conform RFC 1950. Disponibilă începând cu PHP 7.0.0.


id: ZLIB_ENCODING_GZIP
type: constant
doc:
<comment>Description:</comment>
  Algoritmul GZIP conform RFC 1952. Disponibilă începând cu PHP 7.0.0.


id: ZLIB_ENCODING_RAW
type: constant
doc:
<comment>Description:</comment>
  Algoritmul DEFLATE conform RFC 1951. Disponibilă începând cu PHP 7.0.0.


id: ZMQ::CTXOPT_MAX_SOCKETS
type: constant
doc:
<comment>Description:</comment>
  The socket limit for this context. Available if compiled against ZeroMQ 3.x or higher (Value: <info>int</info>)


id: ZMQ::ERR_EAGAIN
type: constant
doc:
<comment>Description:</comment>
  Implies that the operation would block when ZMQ::MODE_DONTWAIT is used


id: ZMQ::ERR_EFSM
type: constant
doc:
<comment>Description:</comment>
  The operation can not be executed because the socket is not in correct state


id: ZMQ::MODE_NOBLOCK
type: constant
doc:
<comment>Description:</comment>
  Non-blocking operation. Deprecated, use ZMQ::MODE_DONTWAIT instead


id: ZMQ::SOCKET_STREAM
type: constant
doc:
<comment>Description:</comment>
  Used to send and receive TCP data from a non-ØMQ peer. Available if compiled against ZeroMQ 4.x or
  higher (Value: <info>int</info>).


id: ZMQ::SOCKET_XPUB
type: constant
doc:
<comment>Description:</comment>
  Similar to SOCKET_PUB, except you can receive subscriptions as messages. The subscription message
  is 0 (unsubscribe) or 1 (subscribe) followed by the topic.


id: ZMQ::SOCKET_XSUB
type: constant
doc:
<comment>Description:</comment>
  Similar to SOCKET_SUB, except you can send subscriptions as messages. See SOCKET_XPUB for format.


id: ZMQ::SOCKOPT_BACKLOG
type: constant
doc:
<comment>Description:</comment>
  The SOCKOPT_BACKLOG option shall set the maximum length of the queue of outstanding peer
  connections for the specified socket; this only applies to connection-oriented transports. (Value:
  <info>int</info>)


id: ZMQ::SOCKOPT_DELAY_ATTACH_ON_CONNECT
type: constant
doc:
<comment>Description:</comment>
  Set a CIDR string to match against incoming TCP connections. Available if compiled against ZeroMQ
  3.x or higher (Value: <info>string</info>)


id: ZMQ::SOCKOPT_HWM
type: constant
doc:
<comment>Description:</comment>
  The high water mark for inbound and outbound messages is a hard limit on the maximum number of
  outstanding messages ØMQ shall queue in memory for any single peer that the specified socket is
  communicating with. Setting this option on a socket will only affect connections made after the
  option has been set. On ZeroMQ 3.x this is a wrapper for setting both SNDHWM and RCVHWM. (Value:
  <info>int</info>).


id: ZMQ::SOCKOPT_IPV4ONLY
type: constant
doc:
<comment>Description:</comment>
  Disable IPV6 support if 1. Available if compiled against ZeroMQ 3.x (Value: <info>int</info>)


id: ZMQ::SOCKOPT_IPV6
type: constant
doc:
<comment>Description:</comment>
  Enable IPV6. Available if compiled against ZeroMQ 4.0 or higher (Value: <info>string</info>)


id: ZMQ::SOCKOPT_LAST_ENDPOINT
type: constant
doc:
<comment>Description:</comment>
  Retrieve the last connected endpoint - for use with * wildcard ports. Available if compiled
  against ZeroMQ 3.x or higher (Value: <info>string</info>)


id: ZMQ::SOCKOPT_LINGER
type: constant
doc:
<comment>Description:</comment>
  The linger value of the socket. Specifies how long the socket blocks trying flush messages after
  it has been closed (Value: <info>int</info>)


id: ZMQ::SOCKOPT_MAXMSGSIZE
type: constant
doc:
<comment>Description:</comment>
  Limits the maximum size of the inbound message. Value -1 means no limit. Available if compiled
  against ZeroMQ 3.x or higher (Value: <info>int</info>)


id: ZMQ::SOCKOPT_RATE
type: constant
doc:
<comment>Description:</comment>
  Set rate for multicast sockets (pgm) (Value: <info>int</info> &gt;= 0)


id: ZMQ::SOCKOPT_RCVHWM
type: constant
doc:
<comment>Description:</comment>
  The SOCKOPT_RCVHWM option shall set the high water mark for inbound messages on the specified
  socket. Available if compiled against ZeroMQ 3.x or higher (Value: <info>int</info>).


id: ZMQ::SOCKOPT_RCVTIMEO
type: constant
doc:
<comment>Description:</comment>
  Sets the timeout for receive operation on the socket. Value -1 means no limit. Available if
  compiled against ZeroMQ 3.x or higher (Value: <info>int</info>)


id: ZMQ::SOCKOPT_RECONNECT_IVL
type: constant
doc:
<comment>Description:</comment>
  Set the initial reconnection interval (Value: <info>int</info> &gt;= 0)


id: ZMQ::SOCKOPT_RECONNECT_IVL_MAX
type: constant
doc:
<comment>Description:</comment>
  Set the max reconnection interval (Value: <info>int</info> &gt;= 0)


id: ZMQ::SOCKOPT_RECOVERY_IVL
type: constant
doc:
<comment>Description:</comment>
  Set multicast recovery interval (Value: <info>int</info> &gt;= 0)


id: ZMQ::SOCKOPT_ROUTER_RAW
type: constant
doc:
<comment>Description:</comment>
  Sets the raw mode on the ROUTER, when set to 1. In raw mode when using tcp:// transport the socket
  will read and write without ZeroMQ framing. Available if compiled against ZeroMQ 4.0 or higher
  (Value: <info>string</info>)


id: ZMQ::SOCKOPT_SNDBUF
type: constant
doc:
<comment>Description:</comment>
  Set kernel transmit buffer size (Value: <info>int</info> &gt;= 0)


id: ZMQ::SOCKOPT_SNDHWM
type: constant
doc:
<comment>Description:</comment>
  The ZMQ_SNDHWM option shall set the high water mark for outbound messages on the specified socket.
  Available if compiled against ZeroMQ 3.x or higher (Value: <info>int</info>).


id: ZMQ::SOCKOPT_SNDTIMEO
type: constant
doc:
<comment>Description:</comment>
  Sets the timeout for send operation on the socket. Value -1 means no limit. Available if compiled
  against ZeroMQ 3.x or higher (Value: <info>int</info>)


id: ZMQ::SOCKOPT_SUBSCRIBE
type: constant
doc:
<comment>Description:</comment>
  Establish message filter. Valid for subscriber socket (Value: <info>string</info>)


id: ZMQ::SOCKOPT_TCP_KEEPALIVE_CNT
type: constant
doc:
<comment>Description:</comment>
  Count time for TCP keepalive. Available if compiled against ZeroMQ 3.x or higher (Value: <info>int</info>)


id: ZMQ::SOCKOPT_TCP_KEEPALIVE_IDLE
type: constant
doc:
<comment>Description:</comment>
  Idle time for TCP keepalive. Available if compiled against ZeroMQ 3.x or higher (Value: <info>int</info>)


id: ZMQ::SOCKOPT_TCP_KEEPALIVE_INTVL
type: constant
doc:
<comment>Description:</comment>
  Interval for TCP keepalive. Available if compiled against ZeroMQ 3.x or higher (Value: <info>int</info>)


id: ZMQ::SOCKOPT_TYPE
type: constant
doc:
<comment>Description:</comment>
  Get the socket type. Valid for getSockOpt (Value: <info>int</info>)


id: ZMQ::SOCKOPT_UNSUBSCRIBE
type: constant
doc:
<comment>Description:</comment>
  Remove message filter. Valid for subscriber socket (Value: <info>string</info>)


id: ZMQ::SOCKOPT_XPUB_VERBOSE
type: constant
doc:
<comment>Description:</comment>
  Set the XPUB to receive an application message on each instance of a subscription. Available if
  compiled against ZeroMQ 3.x or higher (Value: <info>string</info>)


id: ZMQ::__construct
type: function
doc:
<comment>Description:</comment>
  ZMQ constructor
  
  Private constructor to prevent direct initialization. This class holds the constants for ZMQ
  extension.


id: ZMQContext::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new ZMQContext object
  
  Constructs a new ZMQ context. The context is used to initialize sockets. A persistent context is
  required  to initialize persistent sockets.

<comment>Param:</comment>
  <info>int </info>  <strong>$io_threads   </strong>  Number of io-threads in the context.
  <info>bool</info>  <strong>$is_persistent</strong>  Whether the context is persistent. Persistent context is stored over
                        multiple requests and is a requirement for persistent sockets.

<comment>Return:</comment>
  <info>unknown</info>  Throws ZMQContextException if context initialization fails.


id: ZMQContext::getOpt
type: function
doc:
<comment>Description:</comment>
  Get context option
  
  Returns the value of a context option.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  An integer representing the option. See the <info>ZMQ::CTXOPT_*</info> constants.

<comment>Return:</comment>
  <info>mixed</info>  Returns either a <info>string</info> or an <info>int</info> depending on <strong>$key</strong>. Throws ZMQContextException on error.


id: ZMQContext::getSocket
type: function
doc:
<comment>Description:</comment>
  Create a new socket
  
  Shortcut for creating new sockets from the context. If the context is not persistent the
  <strong>$persistent_id</strong>  parameter is ignored and the socket falls back to being non-persistent. The
  <strong>$on_new_socket</strong> is called only when a new underlying socket structure is created.

<comment>Param:</comment>
  <info>int     </info>  <strong>$type         </strong>  <info>ZMQ::SOCKET_*</info> constant to specify socket type.
  <info>string  </info>  <strong>$persistent_id</strong>  If <strong>$persistent_id</strong> is specified the socket will be persisted over
                            multiple requests.
  <info>callable</info>  <strong>$on_new_socket</strong>  Callback function, which is executed when a new socket structure is
                            created. This function does not get invoked if the underlying persistent
                            connection is re-used. The callback takes ZMQSocket and persistent_id as
                            two arguments.

<comment>Return:</comment>
  <info>ZMQSocket</info>  Returns a ZMQSocket object on success. Throws ZMQSocketException on error.


id: ZMQContext::isPersistent
type: function
doc:
<comment>Description:</comment>
  Whether the context is persistent
  
  Whether the context is persistent. Persistent context is needed for persistent connections as each
  socket is allocated from a context.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the context is persistent and <info>false</info> if the context is non-persistent.


id: ZMQContext::setOpt
type: function
doc:
<comment>Description:</comment>
  Set a socket option
  
  Sets a ZMQ context option. The type of the <strong>$value</strong> depends on the <strong>$key</strong>. See ZMQ Constant Types for
  more information.

<comment>Param:</comment>
  <info>int  </info>  <strong>$key  </strong>  One of the <info>ZMQ::CTXOPT_*</info> constants.
  <info>mixed</info>  <strong>$value</strong>  The value of the parameter.

<comment>Return:</comment>
  <info>ZMQContext</info>  Returns the current object. Throws ZMQContextException on error.


id: ZMQDevice::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new device
  
  "ØMQ devices can do intermediation of addresses, services, queues, or any other abstraction you
  care to define above the message and socket layers." -- zguide

<comment>Param:</comment>
  <info>ZMQSocket</info>  <strong>$frontend</strong>  Frontend parameter for the devices. Usually where there messages are coming.
  <info>ZMQSocket</info>  <strong>$backend </strong>  Backend parameter for the devices. Usually where there messages going to.
  <info>ZMQSocket</info>  <strong>$listener</strong>  Listener socket, which receives a copy of all messages going both
                        directions. The type of this socket should be SUB, PULL or DEALER.

<comment>Return:</comment>
  <info>unknown</info>  Call to this method will prepare the device. Usually devices are very long running
           processes so running this method from interactive script is not recommended. This method
           throw ZMQDeviceException if the device cannot be started.


id: ZMQDevice::getIdleTimeout
type: function
doc:
<comment>Description:</comment>
  Get the idle timeout
  
  Gets the idle callback timeout value. Added in ZMQ extension version 1.1.0.

<comment>Return:</comment>
  <info>ZMQDevice</info>  This method returns the idle callback timeout value.


id: ZMQDevice::getTimerTimeout
type: function
doc:
<comment>Description:</comment>
  Get the timer timeout
  
  Gets the timer callback timeout value. Added in ZMQ extension version 1.1.0.

<comment>Return:</comment>
  <info>ZMQDevice</info>  This method returns the timer timeout value.


id: ZMQDevice::run
type: function
doc:
<comment>Description:</comment>
  Run the new device
  
  Runs the device.

<comment>Return:</comment>
  <info>void</info>  Call to this method will block until the device is running. It is not recommended that
        devices are used from interactive scripts. On failure this method will throw
        ZMQDeviceException.


id: ZMQDevice::setIdleCallback
type: function
doc:
<comment>Description:</comment>
  Set the idle callback function
  
  Sets the idle callback function. If idle timeout is defined the idle callback function shall be
  called if the internal poll loop times out without events. If the callback function returns false
  or a value that evaluates to false the device is stopped.
   The callback function signature is callback (mixed $user_data).

<comment>Param:</comment>
  <info>callable</info>  <strong>$cb_func  </strong>  Callback function to invoke when the device is idle. Returning false or a
                        value that evaluates to false from this function will cause the  device to
                        stop.
  <info>int     </info>  <strong>$timeout  </strong>  How often to invoke the idle callback in milliseconds. The idle callback is
                        invoked periodically when there is no activity on the device. The timeout
                        value guarantees that there is at least this amount of milliseconds between
                        invocations of the callback function.
  <info>mixed   </info>  <strong>$user_data</strong>  Additional data to pass to the callback function.

<comment>Return:</comment>
  <info>ZMQDevice</info>  On success this method returns the current object.


id: ZMQDevice::setIdleTimeout
type: function
doc:
<comment>Description:</comment>
  Set the idle timeout
  
  Sets the idle callback timeout value. The idle callback is invoked periodically when the device is
  idle.

<comment>Param:</comment>
  <info>int</info>  <strong>$timeout</strong>  The idle callback timeout value.

<comment>Return:</comment>
  <info>ZMQDevice</info>  On success this method returns the current object.


id: ZMQDevice::setTimerCallback
type: function
doc:
<comment>Description:</comment>
  Set the timer callback function
  
  Sets the timer callback function. The timer callback will be invoked after timeout has passed. The
  difference between idle and timer callbacks are that idle callback is invoked only when the device
  is idle.
   The callback function signature is callback (mixed $user_data). Added in ZMQ extension version
  1.1.0.

<comment>Param:</comment>
  <info>callable</info>  <strong>$cb_func  </strong>  Callback function to invoke when the device is idle. Returning false or a
                        value that evaluates to false from this function will cause the  device to
                        stop.
  <info>int     </info>  <strong>$timeout  </strong>  How often to invoke the idle callback in milliseconds. The idle callback is
                        invoked periodically when there is no activity on the device. The timeout
                        value guarantees that there is at least this amount of milliseconds between
                        invocations of the callback function.
  <info>mixed   </info>  <strong>$user_data</strong>  Additional data to pass to the callback function.

<comment>Return:</comment>
  <info>ZMQDevice</info>  On success this method returns the current object.


id: ZMQDevice::setTimerTimeout
type: function
doc:
<comment>Description:</comment>
  Set the timer timeout
  
  Sets the timer callback timeout value. The timer callback is invoked periodically if it's set.
  Added in ZMQ extension version 1.1.0.

<comment>Param:</comment>
  <info>int</info>  <strong>$timeout</strong>  The timer callback timeout value.

<comment>Return:</comment>
  <info>ZMQDevice</info>  On success this method returns the current object.


id: ZMQPoll::add
type: function
doc:
<comment>Description:</comment>
  Add item to the poll set
  
  Adds a new item to the poll set and returns the internal id of the added item. The item can be
  removed from the poll set using the returned string id.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$entry</strong>  ZMQSocket object or a PHP stream resource
  <info>int  </info>  <strong>$type </strong>  Defines what activity the socket is polled for.  See <info>ZMQ::POLL_IN</info> and <info>ZMQ::POLL_OUT</info>
                 constants.

<comment>Return:</comment>
  <info>string</info>  Returns a string id of the added item which can be later used to remove the item.  Throws
          ZMQPollException on error.


id: ZMQPoll::clear
type: function
doc:
<comment>Description:</comment>
  Clear the poll set
  
  Clears all elements from the poll set.

<comment>Return:</comment>
  <info>ZMQPoll</info>  Returns the current object.


id: ZMQPoll::count
type: function
doc:
<comment>Description:</comment>
  Count items in the poll set
  
  Count the items in the poll set.

<comment>Return:</comment>
  <info>int</info>  Returns an <info>int</info> representing the amount of items in the poll set.


id: ZMQPoll::getLastErrors
type: function
doc:
<comment>Description:</comment>
  Get poll errors
  
  Returns the ids of the objects that had errors in the last poll.

<comment>Return:</comment>
  <info>array</info>  Returns an array containing ids for the items that had errors in the last poll. Empty array
         is  returned if there were no errors.


id: ZMQPoll::poll
type: function
doc:
<comment>Description:</comment>
  Poll the items
  
  Polls the items in the current poll set. The readable and writable items are returned in the
  <strong>$readable</strong> and <strong>$writable</strong> parameters.  <strong>ZMQPoll::getLastErrors()</strong> can be used to check if there were
  errors.

<comment>Param:</comment>
  <info>array</info>  <strong>$readable</strong>  Array where readable ZMQSockets/PHP streams are returned. The array will be
                    cleared at the beginning of the operation.
  <info>array</info>  <strong>$writable</strong>  Array where writable ZMQSockets/PHP streams are returned. The array will be
                    cleared at the beginning of the operation.
  <info>int  </info>  <strong>$timeout </strong>  Timeout for the operation. -1 means that poll waits until at least one item has
                    activity. Please note that starting from  version 1.0.0 the poll timeout is
                    defined in milliseconds, rather than microseconds.

<comment>Return:</comment>
  <info>int</info>  Returns an integer representing amount of items with activity. Throws ZMQPollException on
       error.


id: ZMQPoll::remove
type: function
doc:
<comment>Description:</comment>
  Remove item from poll set
  
  Remove item from the poll set. The <strong>$item</strong> parameter can be ZMQSocket object, a stream resource or
  the id returned from <strong>ZMQPoll::add()</strong> method.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$item</strong>  The ZMQSocket object, PHP stream or <info>string</info> id of the item.

<comment>Return:</comment>
  <info>bool</info>  Returns true if the item was removed and false if the object  with given id does not exist
        in the poll set.


id: ZMQSocket::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new ZMQSocket
  
  Constructs a ZMQSocket object. <strong>$persistent_id</strong> parameter can be used to allocated a persistent
  socket. A persistent socket has to be allocated from a persistent context and it stays connected
  over multiple requests. The <strong>$persistent_id</strong> parameter can be used to recall the same socket over
  multiple requests. The      <strong>$on_new_socket</strong> is called only when a new underlying socket structure
  is created.

<comment>Param:</comment>
  <info>ZMQContext</info>  <strong>$context      </strong>  ZMQContext object.
  <info>int       </info>  <strong>$type         </strong>  The socket type. See <info>ZMQ::SOCKET_*</info> constants.
  <info>string    </info>  <strong>$persistent_id</strong>  If <strong>$persistent_id</strong> is specified the socket will be persisted over
                              multiple requests. If <strong>$context</strong> is not persistent the socket falls back
                              to non-persistent mode.
  <info>callable  </info>  <strong>$on_new_socket</strong>  Callback function, which is executed when a new socket structure is
                              created. This function does not get invoked if the underlying
                              persistent connection is re-used.

<comment>Return:</comment>
  <info>unknown</info>  Throws ZMQSocketException on error.


id: ZMQSocket::bind
type: function
doc:
<comment>Description:</comment>
  Bind the socket
  
  Bind the socket to an endpoint. The endpoint is defined in format <return>transport://address</return> where
  transport is one of the following: inproc, ipc, tcp, pgm or epgm.

<comment>Param:</comment>
  <info>string</info>  <strong>$dsn  </strong>  The bind dsn, for example <return>transport://address</return>.
  <info>bool  </info>  <strong>$force</strong>  Tries to bind even if the socket has already been bound to the given endpoint.

<comment>Return:</comment>
  <info>ZMQSocket</info>  Returns the current object. Throws ZMQSocketException on error.


id: ZMQSocket::connect
type: function
doc:
<comment>Description:</comment>
  Connect the socket
  
  Connect the socket to a remote endpoint. The endpoint is defined in format <return>transport://address</return>
  where  transport is one of the following: inproc, ipc, tcp, pgm or epgm.

<comment>Param:</comment>
  <info>string</info>  <strong>$dsn  </strong>  The connect dsn, for example <return>transport://address</return>.
  <info>bool  </info>  <strong>$force</strong>  Tries to connect even if the socket has already been connected to given endpoint.

<comment>Return:</comment>
  <info>ZMQSocket</info>  Returns the current object. Throws ZMQSocketException on error.


id: ZMQSocket::disconnect
type: function
doc:
<comment>Description:</comment>
  Disconnect a socket
  
  Disconnect the socket from a previously connected remote endpoint. The endpoint is defined in
  format <return>transport://address</return> where transport is one of the following: inproc, ipc, tcp, pgm or epgm.

<comment>Param:</comment>
  <info>string</info>  <strong>$dsn</strong>  The connect dsn, for example <return>transport://address</return>.

<comment>Return:</comment>
  <info>ZMQSocket</info>  Returns the current object. Throws ZMQSocketException on error.


id: ZMQSocket::getEndpoints
type: function
doc:
<comment>Description:</comment>
  Get list of endpoints
  
  Returns a list of endpoints where the socket is connected or bound to.

<comment>Return:</comment>
  <info>array</info>  Returns an array containing elements 'bind' and 'connect'.


id: ZMQSocket::getPersistentId
type: function
doc:
<comment>Description:</comment>
  Get the persistent id
  
  Returns the persistent id of the socket.

<comment>Return:</comment>
  <info>string</info>  Returns the persistent id string assigned of the object and <info>null</info> if socket is not
          persistent.


id: ZMQSocket::getSockOpt
type: function
doc:
<comment>Description:</comment>
  Get socket option
  
  Returns the value of a socket option.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  An integer representing the option. See the <info>ZMQ::SOCKOPT_*</info> constants.

<comment>Return:</comment>
  <info>mixed</info>  Returns either a <info>string</info> or an <info>int</info> depending on <strong>$key</strong>. Throws ZMQSocketException on error.


id: ZMQSocket::getSocketType
type: function
doc:
<comment>Description:</comment>
  Get the socket type
  
  Gets the socket type.

<comment>Return:</comment>
  <info>int</info>  Returns an integer representing the socket type. The integer can be compared against
       <info>ZMQ::SOCKET_*</info> constants.


id: ZMQSocket::isPersistent
type: function
doc:
<comment>Description:</comment>
  Whether the socket is persistent
  
  Check whether the socket is persistent.

<comment>Return:</comment>
  <info>bool</info>  Returns a <info>bool</info> based on whether the socket is persistent or not.


id: ZMQSocket::recv
type: function
doc:
<comment>Description:</comment>
  Receives a message
  
  Receive a message from a socket. By default receiving will block until a message is available
  unless <info>ZMQ::MODE_DONTWAIT</info> flag is used. <info>ZMQ::SOCKOPT_RCVMORE</info> socket option can be used for
  receiving multi-part messages. See <strong>ZMQSocket::setSockOpt()</strong>  for more information.

<comment>Param:</comment>
  <info>int</info>  <strong>$mode</strong>  Pass mode flags to receive multipart messages or non-blocking operation.  See
              <info>ZMQ::MODE_*</info> constants.

<comment>Return:</comment>
  <info>string</info>  Returns the message. Throws ZMQSocketException in error.  If <info>ZMQ::MODE_DONTWAIT</info> is used
          and the operation would  block <info>bool</info> false shall be returned.


id: ZMQSocket::recvMulti
type: function
doc:
<comment>Description:</comment>
  Receives a multipart message
  
  Receive an array multipart message from a socket. By default receiving will block until a message
  is available unless <info>ZMQ::MODE_NOBLOCK</info> flag is used.

<comment>Param:</comment>
  <info>int</info>  <strong>$mode</strong>  Pass mode flags to receive multipart messages or non-blocking operation.  See
              <info>ZMQ::MODE_*</info> constants.

<comment>Return:</comment>
  <info>array</info>  Returns the array of message parts. Throws ZMQSocketException in error.  If
         <info>ZMQ::MODE_NOBLOCK</info> is used and the operation would  block <info>bool</info> false shall be returned.


id: ZMQSocket::send
type: function
doc:
<comment>Description:</comment>
  Sends a message
  
  Send a message using the socket. The operation can block unless <info>ZMQ::MODE_NOBLOCK</info> is used.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>  The message to send.
  <info>int   </info>  <strong>$mode   </strong>  Pass mode flags to receive multipart messages or non-blocking operation.  See
                    <info>ZMQ::MODE_*</info> constants.

<comment>Return:</comment>
  <info>ZMQSocket</info>  Returns the current object. Throws ZMQSocketException on error.  If <info>ZMQ::MODE_NOBLOCK</info>
             is used and the operation would  block <info>bool</info> false shall be returned.


id: ZMQSocket::sendmulti
type: function
doc:
<comment>Description:</comment>
  Sends a multipart message
  
  Send a multipart message using the socket. The operation can block unless <info>ZMQ::MODE_NOBLOCK</info> is
  used.

<comment>Param:</comment>
  <info>array</info>  <strong>$message</strong>  The message to send - an array of strings
  <info>int  </info>  <strong>$mode   </strong>  Pass mode flags to receive multipart messages or non-blocking operation.  See
                   <info>ZMQ::MODE_*</info> constants.

<comment>Return:</comment>
  <info>ZMQSocket</info>  Returns the current object. Throws ZMQSocketException on error.  If <info>ZMQ::MODE_NOBLOCK</info>
             is used and the operation would  block <info>bool</info> false shall be returned.


id: ZMQSocket::setSockOpt
type: function
doc:
<comment>Description:</comment>
  Set a socket option
  
  Sets a ZMQ socket option. The type of the <strong>$value</strong> depends on the <strong>$key</strong>. See ZMQ Constant Types for
  more information.

<comment>Param:</comment>
  <info>int  </info>  <strong>$key  </strong>  One of the <info>ZMQ::SOCKOPT_*</info> constants.
  <info>mixed</info>  <strong>$value</strong>  The value of the parameter.

<comment>Return:</comment>
  <info>ZMQSocket</info>  Returns the current object. Throws ZMQSocketException on error.


id: ZMQSocket::unbind
type: function
doc:
<comment>Description:</comment>
  Unbind the socket
  
  Unbind the socket from an endpoint. The endpoint is defined in format <return>transport://address</return> where
  transport is one of the following: inproc, ipc, tcp, pgm or epgm.

<comment>Param:</comment>
  <info>string</info>  <strong>$dsn</strong>  The previously bound dsn, for example <return>transport://address</return>.

<comment>Return:</comment>
  <info>ZMQSocket</info>  Returns the current object. Throws ZMQSocketException on error.


id: ZipArchive::CHECKCONS
type: constant
doc:
<comment>Description:</comment>
  Perform additional consistency checks on the archive, and error if they fail.


id: ZipArchive::CM_LZMA2
type: constant
doc:
<comment>Description:</comment>
  LZMA2 algorithm. Available as of PHP 7.4.3 and PECL zip 1.16.0, respectively, if built against
  libzip ≥ 1.6.0.


id: ZipArchive::CM_XZ
type: constant
doc:
<comment>Description:</comment>
  XZ algorithm. Available as of PHP 7.4.3 and PECL zip 1.16.1, respectively, if built against libzip
  ≥ 1.6.0.


id: ZipArchive::CM_ZSTD
type: constant
doc:
<comment>Description:</comment>
  Zstandard algorithm. Available as of PHP 8.0.0 and PECL zip 1.19.1, respectively, if built against
  libzip ≥ 1.8.0.


id: ZipArchive::EM_AES_128
type: constant
doc:
<comment>Description:</comment>
  AES 128 encryption. Available as of PHP 7.2.0 and PECL zip 1.14.0, respectively, if built against
  libzip ≥ 1.2.0.


id: ZipArchive::EM_AES_192
type: constant
doc:
<comment>Description:</comment>
  AES 192 encryption. Available as of PHP 7.2.0 and PECL zip 1.14.0, respectively, if built against
  libzip ≥ 1.2.0.


id: ZipArchive::EM_AES_256
type: constant
doc:
<comment>Description:</comment>
  AES 256 encryption. Available as of PHP 7.2.0 and PECL zip 1.14.0, respectively, if built against
  libzip ≥ 1.2.0.


id: ZipArchive::EM_NONE
type: constant
doc:
<comment>Description:</comment>
  No encryption. Available as of PHP 7.2.0 and PECL zip 1.14.0, respectively.


id: ZipArchive::EM_TRAD_PKWARE
type: constant
doc:
<comment>Description:</comment>
  Traditional PKWARE encryption. Available as of PHP 8.0.0 and PECL zip 1.19.0, respectively.


id: ZipArchive::EM_UNKNOWN
type: constant
doc:
<comment>Description:</comment>
  Unknown encryption algorithm. Available as of PHP 8.0.0 and PECL zip 1.19.0, respectively.


id: ZipArchive::ER_CANCELLED
type: constant
doc:
<comment>Description:</comment>
  Operation cancelled. Available as of PHP 7.4.3 and PECL zip 1.16.1, respectively, if built against
  libzip ≥ 1.6.0.


id: ZipArchive::ER_ENCRNOTSUPP
type: constant
doc:
<comment>Description:</comment>
  Encryption method not supported. Available as of PHP 7.4.3 and PECL zip 1.16.1, respectively.


id: ZipArchive::ER_NOPASSWD
type: constant
doc:
<comment>Description:</comment>
  No password provided. Available as of PHP 7.4.3 and PECL zip 1.16.1, respectively.


id: ZipArchive::ER_RDONLY
type: constant
doc:
<comment>Description:</comment>
  Read-only archive. Available as of PHP 7.4.3 and PECL zip 1.16.1, respectively.


id: ZipArchive::ER_WRONGPASSWD
type: constant
doc:
<comment>Description:</comment>
  Wrong password provided. Available as of PHP 7.4.3 and PECL zip 1.16.1, respectively.


id: ZipArchive::FL_ENCRYPTED
type: constant
doc:
<comment>Description:</comment>
  Read encrypted data (implies FL_COMPRESSED). Available as of PHP 8.0.0 and PECL zip 1.18.0.


id: ZipArchive::FL_OVERWRITE
type: constant
doc:
<comment>Description:</comment>
  If file with name exists, overwrite (replace) it. Available as of PHP 8.0.0 and PECL zip 1.18.0.


id: ZipArchive::FL_RECOMPRESS
type: constant
doc:
<comment>Description:</comment>
  Force recompression of data. Available as of PHP 8.0.0 and PECL zip 1.18.0.


id: ZipArchive::LIBZIP_VERSION
type: constant
doc:
<comment>Description:</comment>
  Zip library version. Available as of PHP 7.4.3 and PECL zip 1.16.0.


id: ZipArchive::OVERWRITE
type: constant
doc:
<comment>Description:</comment>
  If archive exists, ignore its current contents. In other words, handle it the same way as an empty
  archive.


id: ZipArchive::RDONLY
type: constant
doc:
<comment>Description:</comment>
  Open archive in read only mode. Available as of PHP 7.4.3 and PECL zip 1.17.1, respectively, if
  built against libzip ≥ 1.0.0.


id: ZipArchive::ZIP_ER_COMPRESSED_DATA
type: constant
doc:
<comment>Description:</comment>
  Compressed data invalid. Available as of PHP 7.4.3 and PECL zip 1.16.1, respectively, if built
  against libzip ≥ 1.6.0.


id: ZipArchive::ZIP_ER_INUSE
type: constant
doc:
<comment>Description:</comment>
  Resource still in use. Available as of PHP 7.4.3 and PECL zip 1.16.1, respectively, if built
  against libzip ≥ 1.0.0.


id: ZipArchive::ZIP_ER_OPNOTSUPP
type: constant
doc:
<comment>Description:</comment>
  Operation not supported. Available as of PHP 7.4.3 and PECL zip 1.16.1, respectively, if built
  against libzip ≥ 1.0.0.


id: ZipArchive::ZIP_ER_TELL
type: constant
doc:
<comment>Description:</comment>
  Tell error. Available as of PHP 7.4.3 and PECL zip 1.16.1, respectively, if built against libzip ≥
  1.0.0.


id: ZipArchive::ZIP_FL_CENTRAL
type: constant
doc:
<comment>Description:</comment>
  In central directory. Available as of PHP 8.0.0 and PECL zip 1.18.0.


id: ZipArchive::addEmptyDir
type: function
doc:
<comment>Description:</comment>
  Add a new directory
  
  Adds an empty directory in the archive.

<comment>Param:</comment>
  <info>string</info>  <strong>$dirname</strong>  The directory to add.
  <info>int   </info>  <strong>$flags  </strong>  Bitmask consisting of <info>ZipArchive::FL_ENC_GUESS</info>, <info>ZipArchive::FL_ENC_UTF_8</info>,
                    <info>ZipArchive::FL_ENC_CP437</info>. The behaviour of these constants is described on the
                    ZIP constants page.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::addFile
type: function
doc:
<comment>Description:</comment>
  Adds a file to a ZIP archive from the given path
  
  Adds a file to a ZIP archive from a given path.
  
  Pentru o portabilitate maximă se recomandă întotdeauna să fie utilizat
  forward slash (<return>/</return>) ca separator al directoarelor în denumiri
  de fișiere ZIP.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename </strong>  The path to the file to add.
  <info>string</info>  <strong>$entryname</strong>  If supplied, this is the local name inside the ZIP archive that will override
                      the <strong>$filename</strong>.
  <info>int   </info>  <strong>$start    </strong>  For partial copy, start position.
  <info>int   </info>  <strong>$length   </strong>  For partial copy, length to be copied, if 0 or -1 the whole file (starting
                      from <strong>$start</strong>) is used.
  <info>int   </info>  <strong>$flags    </strong>  Bitmask consisting of <info>ZipArchive::FL_OVERWRITE</info>, <info>ZipArchive::FL_ENC_GUESS</info>,
                      <info>ZipArchive::FL_ENC_UTF_8</info>, <info>ZipArchive::FL_ENC_CP437</info>. The behaviour of these
                      constants is described on the ZIP constants page.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * ZipArchive::replaceFile


id: ZipArchive::addFromString
type: function
doc:
<comment>Description:</comment>
  Add a file to a ZIP archive using its contents
  
  Add a file to a ZIP archive using its contents.
  
  Pentru o portabilitate maximă se recomandă întotdeauna să fie utilizat
  forward slash (<return>/</return>) ca separator al directoarelor în denumiri
  de fișiere ZIP.

<comment>Param:</comment>
  <info>string</info>  <strong>$name    </strong>  The name of the entry to create.
  <info>string</info>  <strong>$contents</strong>  The contents to use to create the entry. It is used in a binary safe mode.
  <info>int   </info>  <strong>$flags   </strong>  Bitmask consisting of <info>ZipArchive::FL_OVERWRITE</info>, <info>ZipArchive::FL_ENC_GUESS</info>,
                     <info>ZipArchive::FL_ENC_UTF_8</info>, <info>ZipArchive::FL_ENC_CP437</info>. The behaviour of these
                     constants is described on the ZIP constants page.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::addGlob
type: function
doc:
<comment>Description:</comment>
  Add files from a directory by glob pattern
  
  Add files from a directory which match the glob <strong>$pattern</strong>.
  
  Pentru o portabilitate maximă se recomandă întotdeauna să fie utilizat
  forward slash (<return>/</return>) ca separator al directoarelor în denumiri
  de fișiere ZIP.

<comment>Param:</comment>
  <info>string</info>  <strong>$pattern</strong>  A <strong>glob()</strong> pattern against which files will be matched.
  <info>int   </info>  <strong>$flags  </strong>  A bit mask of <return>glob()</return> flags.
  <info>array </info>  <strong>$options</strong>  An associative array of options. Available options are: <return>"add_path"</return> Prefix to
                    prepend when translating to the local path of the file within the archive. This
                    is applied after any remove operations defined by the <return>"remove_path"</return> or
                    <return>"remove_all_path"</return> options. <return>"remove_path"</return> Prefix to remove from matching file
                    paths before adding to the archive. <return>"remove_all_path"</return><info>true</info> to use the file name
                    only and add to the root of the archive. <return>"flags"</return> Bitmask consisting of
                    <info>ZipArchive::FL_OVERWRITE</info>, <info>ZipArchive::FL_ENC_GUESS</info>, <info>ZipArchive::FL_ENC_UTF_8</info>,
                    <info>ZipArchive::FL_ENC_CP437</info>. The behaviour of these constants is described on the
                    ZIP constants page. <return>"comp_method"</return> Compression method, one of the
                    <info>ZipArchive::CM_*</info> constants, see ZIP constants page. <return>"comp_flags"</return> Compression
                    level. <return>"enc_method"</return> Encryption method, one of the <info>ZipArchive::EM_*</info> constants,
                    see ZIP constants page. <return>"enc_password"</return> Password used for encryption.
                    
                    <return>"add_path"</return>
                    
                    Prefix to prepend when translating to the local path of the file within the
                    archive. This is applied after any remove operations defined by the
                    <return>"remove_path"</return> or <return>"remove_all_path"</return> options.
                    
                    <return>"remove_path"</return>
                    
                    Prefix to remove from matching file paths before adding to the archive.
                    
                    <return>"remove_all_path"</return>
                    
                    <info>true</info> to use the file name only and add to the root of the archive.
                    
                    <return>"flags"</return>
                    
                    Bitmask consisting of <info>ZipArchive::FL_OVERWRITE</info>, <info>ZipArchive::FL_ENC_GUESS</info>,
                    <info>ZipArchive::FL_ENC_UTF_8</info>, <info>ZipArchive::FL_ENC_CP437</info>. The behaviour of these
                    constants is described on the ZIP constants page.
                    
                    <return>"comp_method"</return>
                    
                    Compression method, one of the <info>ZipArchive::CM_*</info> constants, see ZIP constants
                    page.
                    
                    <return>"comp_flags"</return>
                    
                    Compression level.
                    
                    <return>"enc_method"</return>
                    
                    Encryption method, one of the <info>ZipArchive::EM_*</info> constants, see ZIP constants
                    page.
                    
                    <return>"enc_password"</return>
                    
                    Password used for encryption.

<comment>Return:</comment>
  <info>arrayfalse</info>  An <info>array</info> of added files on success  sau <info>false</info> în cazul eșecului

<comment>See Also:</comment>
   * ZipArchive::addFile
   * ZipArchive::addPattern


id: ZipArchive::addPattern
type: function
doc:
<comment>Description:</comment>
  Add files from a directory by PCRE pattern
  
  Add files from a directory which match the regular expression <strong>$pattern</strong>. The operation is not
  recursive. The pattern will be matched against the file name only.

<comment>Param:</comment>
  <info>string</info>  <strong>$pattern</strong>  A PCRE pattern against which files will be matched.
  <info>string</info>  <strong>$path   </strong>  The directory that will be scanned. Defaults to the current working directory.
  <info>array </info>  <strong>$options</strong>  An associative array of options accepted by ZipArchive::addGlob.

<comment>Return:</comment>
  <info>arrayfalse</info>  An <info>array</info> of added files on success  sau <info>false</info> în cazul eșecului

<comment>See Also:</comment>
   * ZipArchive::addFile
   * ZipArchive::addGlob


id: ZipArchive::close
type: function
doc:
<comment>Description:</comment>
  Close the active archive (opened or newly created)
  
  Close opened or created archive and save changes. This method is automatically called at the end
  of the script.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::count
type: function
doc:
<comment>Description:</comment>
  Counts the number of files in the archive

<comment>Return:</comment>
  <info>int</info>  Returns the number of files in the archive.


id: ZipArchive::deleteIndex
type: function
doc:
<comment>Description:</comment>
  Delete an entry in the archive using its index
  
  Delete an entry in the archive using its index.

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>  Index of the entry to delete.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::deleteName
type: function
doc:
<comment>Description:</comment>
  Delete an entry in the archive using its name
  
  Delete an entry in the archive using its name.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  Name of the entry to delete.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::extractTo
type: function
doc:
<comment>Description:</comment>
  Extract the archive contents
  
  Extract the complete archive or the given files to the specified destination.
  
  The default permissions for extracted files and directories give the widest possible access. This
  can be restricted by setting the current umask, which can be changed using <strong>umask()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$destination</strong>  Location where to extract the files.
  <info>mixed </info>  <strong>$entries    </strong>  The entries to extract. It accepts either a single entry name or an array of
                        names.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::getArchiveComment
type: function
doc:
<comment>Description:</comment>
  Returns the Zip archive comment
  
  Returns the Zip archive comment.

<comment>Param:</comment>
  <info>int</info>  <strong>$flags</strong>  If flags is set to <info>ZipArchive::FL_UNCHANGED</info>, the original unchanged comment is
               returned.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the Zip archive comment sau <info>false</info> în cazul eșecului.


id: ZipArchive::getCommentIndex
type: function
doc:
<comment>Description:</comment>
  Returns the comment of an entry using the entry index
  
  Returns the comment of an entry using the entry index.

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>  Index of the entry
  <info>int</info>  <strong>$flags</strong>  If flags is set to <info>ZipArchive::FL_UNCHANGED</info>, the original unchanged comment is
               returned.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the comment on success sau <info>false</info> în cazul eșecului.


id: ZipArchive::getCommentName
type: function
doc:
<comment>Description:</comment>
  Returns the comment of an entry using the entry name
  
  Returns the comment of an entry using the entry name.

<comment>Param:</comment>
  <info>string</info>  <strong>$name </strong>  Name of the entry
  <info>int   </info>  <strong>$flags</strong>  If flags is set to <info>ZipArchive::FL_UNCHANGED</info>, the original unchanged comment is
                  returned.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the comment on success sau <info>false</info> în cazul eșecului.


id: ZipArchive::getExternalAttributesIndex
type: function
doc:
<comment>Description:</comment>
  Retrieve the external attributes of an entry defined by its index
  
  Retrieve the external attributes of an entry defined by its index.

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>  Index of the entry.
  <info>int</info>  <strong>$opsys</strong>  On success, receive the operating system code defined by one of the
               ZipArchive::OPSYS_ constants.
  <info>int</info>  <strong>$attr </strong>  On success, receive the external attributes. Value depends on operating system.
  <info>int</info>  <strong>$flags</strong>  If flags is set to <info>ZipArchive::FL_UNCHANGED</info>, the original unchanged attributes are
               returned.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::getExternalAttributesName
type: function
doc:
<comment>Description:</comment>
  Retrieve the external attributes of an entry defined by its name
  
  Retrieve the external attributes of an entry defined by its name.

<comment>Param:</comment>
  <info>string</info>  <strong>$name </strong>  Name of the entry.
  <info>int   </info>  <strong>$opsys</strong>  On success, receive the operating system code defined by one of the
                  ZipArchive::OPSYS_ constants.
  <info>int   </info>  <strong>$attr </strong>  On success, receive the external attributes. Value depends on operating system.
  <info>int   </info>  <strong>$flags</strong>  If flags is set to <info>ZipArchive::FL_UNCHANGED</info>, the original unchanged attributes are
                  returned.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::getFromIndex
type: function
doc:
<comment>Description:</comment>
  Returns the entry contents using its index
  
  Returns the entry contents using its index.

<comment>Param:</comment>
  <info>int</info>  <strong>$index </strong>  Index of the entry
  <info>int</info>  <strong>$length</strong>  The length to be read from the entry. If <return>0</return>, then the entire entry is read.
  <info>int</info>  <strong>$flags </strong>  The flags to use to open the archive. the following values may be ORed to it.
                <info>ZipArchive::FL_UNCHANGED</info><info>ZipArchive::FL_COMPRESSED</info>
                
                <info>ZipArchive::FL_UNCHANGED</info>
                
                <info>ZipArchive::FL_COMPRESSED</info>

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the contents of the entry on success sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * ZipArchive::getFromName


id: ZipArchive::getFromName
type: function
doc:
<comment>Description:</comment>
  Returns the entry contents using its name
  
  Returns the entry contents using its name.

<comment>Param:</comment>
  <info>string</info>  <strong>$name  </strong>  Name of the entry
  <info>int   </info>  <strong>$length</strong>  The length to be read from the entry. If <return>0</return>, then the entire entry is read.
  <info>int   </info>  <strong>$flags </strong>  The flags to use to find the entry. The following values may be ORed.
                   <info>ZipArchive::FL_UNCHANGED</info><info>ZipArchive::FL_COMPRESSED</info><info>ZipArchive::FL_NOCASE</info>
                   
                   <info>ZipArchive::FL_UNCHANGED</info>
                   
                   <info>ZipArchive::FL_COMPRESSED</info>
                   
                   <info>ZipArchive::FL_NOCASE</info>

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the contents of the entry on success sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * ZipArchive::getFromIndex


id: ZipArchive::getNameIndex
type: function
doc:
<comment>Description:</comment>
  Returns the name of an entry using its index
  
  Returns the name of an entry using its index.

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>  Index of the entry.
  <info>int</info>  <strong>$flags</strong>  If flags is set to <info>ZipArchive::FL_UNCHANGED</info>, the original unchanged name is returned.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the name on success sau <info>false</info> în cazul eșecului.


id: ZipArchive::getStatusString
type: function
doc:
<comment>Description:</comment>
  Returns the status error message, system and/or zip messages
  
  Returns the status error message, system and/or zip messages.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns a <info>string</info> with the status message on success sau <info>false</info> în cazul eșecului.


id: ZipArchive::getStream
type: function
doc:
<comment>Description:</comment>
  Get a file handler to the entry defined by its name (read only)
  
  Get a file handler to the entry defined by its name. For now it only supports read operations.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  The name of the entry to use.

<comment>Return:</comment>
  <info>resourcefalse</info>  Returns a file pointer (resource) on success sau <info>false</info> în cazul eșecului.


id: ZipArchive::isCompressionMethodSupported
type: function
doc:
<comment>Description:</comment>
  Check if a compression method is supported by libzip
  
  Check if a compression method is supported by libzip.

<comment>Param:</comment>
  <info>int </info>  <strong>$method</strong>  The compression method, one of the <info>ZipArchive::CM_*</info> constants.
  <info>bool</info>  <strong>$encode</strong>  If <info>true</info> check for compression, else check for decompression.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * ZipArchive::setCompressionIndex
   * ZipArchive::setCompressionName


id: ZipArchive::isEncryptionMethodSupported
type: function
doc:
<comment>Description:</comment>
  Check if a encryption method is supported by libzip
  
  Check if a compression method is supported by libzip.

<comment>Param:</comment>
  <info>int </info>  <strong>$method</strong>  The encryption method, one of the <info>ZipArchive::EM_*</info> constants.
  <info>bool</info>  <strong>$encode</strong>  If <info>true</info> check for encryption, else check for decryption.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * ZipArchive::setEncryptionIndex
   * ZipArchive::setEncryptionName


id: ZipArchive::locateName
type: function
doc:
<comment>Description:</comment>
  Returns the index of the entry in the archive
  
  Locates an entry using its name.

<comment>Param:</comment>
  <info>string</info>  <strong>$name </strong>  The name of the entry to look up
  <info>int   </info>  <strong>$flags</strong>  The flags are specified by ORing the following values, or 0 for none of them.
                  <info>ZipArchive::FL_NOCASE</info><info>ZipArchive::FL_NODIR</info>
                  
                  <info>ZipArchive::FL_NOCASE</info>
                  
                  <info>ZipArchive::FL_NODIR</info>

<comment>Return:</comment>
  <info>intfalse</info>  Returns the index of the entry on success sau <info>false</info> în cazul eșecului.


id: ZipArchive::open
type: function
doc:
<comment>Description:</comment>
  Open a ZIP file archive
  
  Opens a new or existing zip archive for reading, writing or modifying.
  
  Since libzip 1.6.0, a empty file is not a valid archive any longer.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  The file name of the ZIP archive to open.
  <info>int   </info>  <strong>$flags   </strong>  The mode to use to open the archive.
                     <info>ZipArchive::OVERWRITE</info><info>ZipArchive::CREATE</info><info>ZipArchive::RDONLY</info><info>ZipArchive::EXCL</info><info>ZipArchive::CHECKCONS</info>
                     
                     <info>ZipArchive::OVERWRITE</info>
                     
                     <info>ZipArchive::CREATE</info>
                     
                     <info>ZipArchive::RDONLY</info>
                     
                     <info>ZipArchive::EXCL</info>
                     
                     <info>ZipArchive::CHECKCONS</info>

<comment>Return:</comment>
  <info>mixed</info>  <strong>$Error codes</strong> Returns <info>true</info> on success or the error code. <info>ZipArchive::ER_EXISTS</info> File already
         exists. <info>ZipArchive::ER_INCONS</info> Zip archive inconsistent. <info>ZipArchive::ER_INVAL</info> Invalid
         argument. <info>ZipArchive::ER_MEMORY</info> Malloc failure. <info>ZipArchive::ER_NOENT</info> No such file.
         <info>ZipArchive::ER_NOZIP</info> Not a zip archive. <info>ZipArchive::ER_OPEN</info> Can't open file.
         <info>ZipArchive::ER_READ</info> Read error. <info>ZipArchive::ER_SEEK</info> Seek error.
         
         Returns <info>true</info> on success or the error code. <info>ZipArchive::ER_EXISTS</info> File already exists.
         <info>ZipArchive::ER_INCONS</info> Zip archive inconsistent. <info>ZipArchive::ER_INVAL</info> Invalid argument.
         <info>ZipArchive::ER_MEMORY</info> Malloc failure. <info>ZipArchive::ER_NOENT</info> No such file.
         <info>ZipArchive::ER_NOZIP</info> Not a zip archive. <info>ZipArchive::ER_OPEN</info> Can't open file.
         <info>ZipArchive::ER_READ</info> Read error. <info>ZipArchive::ER_SEEK</info> Seek error.
         
         <info>ZipArchive::ER_EXISTS</info>
         
         File already exists.
         
         <info>ZipArchive::ER_INCONS</info>
         
         Zip archive inconsistent.
         
         <info>ZipArchive::ER_INVAL</info>
         
         Invalid argument.
         
         <info>ZipArchive::ER_MEMORY</info>
         
         Malloc failure.
         
         <info>ZipArchive::ER_NOENT</info>
         
         No such file.
         
         <info>ZipArchive::ER_NOZIP</info>
         
         Not a zip archive.
         
         <info>ZipArchive::ER_OPEN</info>
         
         Can't open file.
         
         <info>ZipArchive::ER_READ</info>
         
         Read error.
         
         <info>ZipArchive::ER_SEEK</info>
         
         Seek error.


id: ZipArchive::registerCancelCallback
type: function
doc:
<comment>Description:</comment>
  Register a callback to allow cancellation during archive close.
  
  Register a <strong>$callback</strong> function to allow cancellation during archive close.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  If this function return 0 operation will continue, other value it will be
                       cancelled.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * ZipArchive::registerProgressCallback


id: ZipArchive::registerProgressCallback
type: function
doc:
<comment>Description:</comment>
  Register a callback to provide updates during archive close.
  
  Register a <strong>$callback</strong> function to provide updates during archive close.

<comment>Param:</comment>
  <info>float   </info>  <strong>$rate    </strong>  Change between each call of the callback (from 0.0 to 1.0).
  <info>callable</info>  <strong>$callback</strong>  This function will receive the current <strong>$state</strong> as a <info>float</info> (from 0.0 to 1.0).

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * ZipArchive::registerCancelCallback


id: ZipArchive::renameIndex
type: function
doc:
<comment>Description:</comment>
  Renames an entry defined by its index
  
  Renames an entry defined by its index.

<comment>Param:</comment>
  <info>int   </info>  <strong>$index  </strong>  Index of the entry to rename.
  <info>string</info>  <strong>$newname</strong>  New name.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::renameName
type: function
doc:
<comment>Description:</comment>
  Renames an entry defined by its name
  
  Renames an entry defined by its name.

<comment>Param:</comment>
  <info>string</info>  <strong>$name   </strong>  Name of the entry to rename.
  <info>string</info>  <strong>$newname</strong>  New name.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::replaceFile
type: function
doc:
<comment>Description:</comment>
  Replace file in ZIP archive with a given path
  
  Replace file in ZIP archive with a given path.
  
  Pentru o portabilitate maximă se recomandă întotdeauna să fie utilizat
  forward slash (<return>/</return>) ca separator al directoarelor în denumiri
  de fișiere ZIP.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  The path to the file to add.
  <info>int   </info>  <strong>$index   </strong>  The index of the file to be replaced, its name is unchanged.
  <info>int   </info>  <strong>$start   </strong>  For partial copy, start position.
  <info>int   </info>  <strong>$length  </strong>  For partial copy, length to be copied, if 0 or -1 the whole file (starting from
                     <strong>$start</strong>) is used.
  <info>int   </info>  <strong>$flags   </strong>  Bitmask consisting of <info>ZipArchive::FL_ENC_GUESS</info>, <info>ZipArchive::FL_ENC_UTF_8</info>,
                     <info>ZipArchive::FL_ENC_CP437</info>. The behaviour of these constants is described on the
                     ZIP constants page.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * ZipArchive::addFile


id: ZipArchive::setArchiveComment
type: function
doc:
<comment>Description:</comment>
  Set the comment of a ZIP archive
  
  Set the comment of a ZIP archive.

<comment>Param:</comment>
  <info>string</info>  <strong>$comment</strong>  The contents of the comment.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::setCommentIndex
type: function
doc:
<comment>Description:</comment>
  Set the comment of an entry defined by its index
  
  Set the comment of an entry defined by its index.

<comment>Param:</comment>
  <info>int   </info>  <strong>$index  </strong>  Index of the entry.
  <info>string</info>  <strong>$comment</strong>  The contents of the comment.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::setCommentName
type: function
doc:
<comment>Description:</comment>
  Set the comment of an entry defined by its name
  
  Set the comment of an entry defined by its name.

<comment>Param:</comment>
  <info>string</info>  <strong>$name   </strong>  Name of the entry.
  <info>string</info>  <strong>$comment</strong>  The contents of the comment.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::setCompressionIndex
type: function
doc:
<comment>Description:</comment>
  Set the compression method of an entry defined by its index
  
  Set the compression method of an entry defined by its index.

<comment>Param:</comment>
  <info>int</info>  <strong>$index      </strong>  Index of the entry.
  <info>int</info>  <strong>$comp_method</strong>  The compression method, one of the <info>ZipArchive::CM_*</info> constants.
  <info>int</info>  <strong>$comp_flags </strong>  Compression level.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::setCompressionName
type: function
doc:
<comment>Description:</comment>
  Set the compression method of an entry defined by its name
  
  Set the compression method of an entry defined by its name.

<comment>Param:</comment>
  <info>string</info>  <strong>$name       </strong>  Name of the entry.
  <info>int   </info>  <strong>$comp_method</strong>  The compression method, one of the <info>ZipArchive::CM_*</info> constants.
  <info>int   </info>  <strong>$comp_flags </strong>  Compression level.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::setEncryptionIndex
type: function
doc:
<comment>Description:</comment>
  Set the encryption method of an entry defined by its index
  
  Set the encryption method of an entry defined by its index.

<comment>Param:</comment>
  <info>int   </info>  <strong>$index   </strong>  Index of the entry.
  <info>int   </info>  <strong>$method  </strong>  The encryption method defined by one of the ZipArchive::EM_ constants.
  <info>string</info>  <strong>$password</strong>  Optional password, default used when missing.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * ZipArchive::setPassword
   * ZipArchive::setEncryptionName


id: ZipArchive::setEncryptionName
type: function
doc:
<comment>Description:</comment>
  Set the encryption method of an entry defined by its name
  
  Set the encryption method of an entry defined by its name.

<comment>Param:</comment>
  <info>string</info>  <strong>$name    </strong>  Name of the entry.
  <info>int   </info>  <strong>$method  </strong>  The encryption method defined by one of the ZipArchive::EM_ constants.
  <info>string</info>  <strong>$password</strong>  Optional password, default used when missing.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * ZipArchive::setPassword
   * ZipArchive::setEncryptionIndex


id: ZipArchive::setExternalAttributesIndex
type: function
doc:
<comment>Description:</comment>
  Set the external attributes of an entry defined by its index
  
  Set the external attributes of an entry defined by its index.

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>  Index of the entry.
  <info>int</info>  <strong>$opsys</strong>  The operating system code defined by one of the ZipArchive::OPSYS_ constants.
  <info>int</info>  <strong>$attr </strong>  The external attributes. Value depends on operating system.
  <info>int</info>  <strong>$flags</strong>  Optional flags. Currently unused.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::setExternalAttributesName
type: function
doc:
<comment>Description:</comment>
  Set the external attributes of an entry defined by its name
  
  Set the external attributes of an entry defined by its name.

<comment>Param:</comment>
  <info>string</info>  <strong>$name </strong>  Name of the entry.
  <info>int   </info>  <strong>$opsys</strong>  The operating system code defined by one of the ZipArchive::OPSYS_ constants.
  <info>int   </info>  <strong>$attr </strong>  The external attributes. Value depends on operating system.
  <info>int   </info>  <strong>$flags</strong>  Optional flags. Currently unused.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::setMtimeIndex
type: function
doc:
<comment>Description:</comment>
  Set the modification time of an entry defined by its index
  
  Set the modification time of an entry defined by its index.

<comment>Param:</comment>
  <info>int</info>  <strong>$index    </strong>  Index of the entry.
  <info>int</info>  <strong>$timestamp</strong>  The modification time (unix timestamp) of the file.
  <info>int</info>  <strong>$flags    </strong>  Optional flags, unused for now.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * ZipArchive::setMtimeName


id: ZipArchive::setMtimeName
type: function
doc:
<comment>Description:</comment>
  Set the modification time of an entry defined by its name
  
  Set the modification time of an entry defined by its name.

<comment>Param:</comment>
  <info>string</info>  <strong>$name     </strong>  Name of the entry.
  <info>int   </info>  <strong>$timestamp</strong>  The modification time (unix timestamp) of the file.
  <info>int   </info>  <strong>$flags    </strong>  Optional flags, unused for now.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * ZipArchive::setMtimeIndex


id: ZipArchive::setPassword
type: function
doc:
<comment>Description:</comment>
  Set the password for the active archive
  
  Sets the password for the active archive.

<comment>Param:</comment>
  <info>string</info>  <strong>$password</strong>  The password to be used for the archive.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * ZipArchive::setEncryptionIndex
   * ZipArchive::setEncryptionName


id: ZipArchive::statIndex
type: function
doc:
<comment>Description:</comment>
  Get the details of an entry defined by its index
  
  The  function  obtains  information  about the entry defined by its index.

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>  Index of the entry
  <info>int</info>  <strong>$flags</strong>  <info>ZipArchive::FL_UNCHANGED</info> may be ORed to it to request information  about  the
               original  file  in  the archive, ignoring any changes made.

<comment>Return:</comment>
  <info>arrayfalse</info>  Returns an array containing the entry details sau <info>false</info> în cazul eșecului.


id: ZipArchive::statName
type: function
doc:
<comment>Description:</comment>
  Get the details of an entry defined by its name
  
  The function obtains information about the entry defined by its name.

<comment>Param:</comment>
  <info>string</info>  <strong>$name </strong>  Name of the entry
  <info>int   </info>  <strong>$flags</strong>  The flags argument specifies how the name lookup should be done. Also,
                  <info>ZipArchive::FL_UNCHANGED</info> may be ORed to it to request information  about  the
                  original  file  in  the archive, ignoring any changes made.
                  <info>ZipArchive::FL_NOCASE</info><info>ZipArchive::FL_NODIR</info><info>ZipArchive::FL_UNCHANGED</info>
                  
                  <info>ZipArchive::FL_NOCASE</info>
                  
                  <info>ZipArchive::FL_NODIR</info>
                  
                  <info>ZipArchive::FL_UNCHANGED</info>

<comment>Return:</comment>
  <info>arrayfalse</info>  Returns an array containing the entry details  sau <info>false</info> în cazul eșecului.


id: ZipArchive::unchangeAll
type: function
doc:
<comment>Description:</comment>
  Undo all changes done in the archive
  
  Undo all changes done in the archive.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::unchangeArchive
type: function
doc:
<comment>Description:</comment>
  Revert all global changes done in the archive
  
  Revert all global changes to the archive.  For now, this only reverts archive comment changes.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::unchangeIndex
type: function
doc:
<comment>Description:</comment>
  Revert all changes done to an entry at the given index
  
  Revert all changes done to an entry at the given index.

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>  Index of the entry.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: ZipArchive::unchangeName
type: function
doc:
<comment>Description:</comment>
  Revert all changes done to an entry with the given name
  
  Revert all changes done to an entry.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  Name of the entry.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: Zookeeper::APIERROR
type: constant
doc:
<comment>Description:</comment>
  This is never thrown by the server, it shouldn't be used other than to indicate a range.
  Specifically error codes greater than this value are API errors (while values less than this
  indicate a Zookeeper::SYSTEMERROR).


id: Zookeeper::CHANGED_EVENT
type: constant
doc:
<comment>Description:</comment>
  A node has changed
  
  This is only generated by watches on nodes. These watches are set using Zookeeper::exists and
  Zookeeper::get.


id: Zookeeper::CHILD_EVENT
type: constant
doc:
<comment>Description:</comment>
  A change as occurred in the list of children
  
  This is only generated by watches on the child list of a node. These watches are set using
  Zookeeper::getChildren.


id: Zookeeper::CREATED_EVENT
type: constant
doc:
<comment>Description:</comment>
  A node has been created
  
  This is only generated by watches on non-existent nodes. These watches are set using
  Zookeeper::exists.


id: Zookeeper::DELETED_EVENT
type: constant
doc:
<comment>Description:</comment>
  A node has been deleted
  
  This is only generated by watches on nodes. These watches are set using Zookeeper::exists and
  Zookeeper::get.


id: Zookeeper::EPHEMERAL
type: constant
doc:
<comment>Description:</comment>
  If Zookeeper::EPHEMERAL flag is set, the node will automatically get removed if the client session
  goes away.


id: Zookeeper::NEWCONFIGNOQUORUM
type: constant
doc:
<comment>Description:</comment>
  No quorum of new config is connected and up-to-date with the leader of last committed config - try
  invoking reconfiguration after new servers are connected and synced.
  
  Available as of ZooKeeper 3.5.0


id: Zookeeper::NOTWATCHING_EVENT
type: constant
doc:
<comment>Description:</comment>
  A watch has been removed
  
  This is generated when the server for some reason, probably a resource constraint, will no longer
  watch a node for a client.


id: Zookeeper::RECONFIGDISABLED
type: constant
doc:
<comment>Description:</comment>
  Attempts to perform a reconfiguration operation when reconfiguration feature is disabled.


id: Zookeeper::RECONFIGINPROGRESS
type: constant
doc:
<comment>Description:</comment>
  Reconfiguration requested while another reconfiguration is currently in progress. This is
  currently not supported. Please retry.
  
  Available as of ZooKeeper 3.5.0


id: Zookeeper::SEQUENCE
type: constant
doc:
<comment>Description:</comment>
  If the Zookeeper::SEQUENCE flag is set, a unique monotonically increasing sequence number is
  appended to the path name. The sequence number is always fixed length of 10 digits, 0 padded.


id: Zookeeper::SESSION_EVENT
type: constant
doc:
<comment>Description:</comment>
  A session has been lost
  
  This is generated when a client loses contact or reconnects with a server.


id: Zookeeper::SYSTEMERROR
type: constant
doc:
<comment>Description:</comment>
  This is never thrown by the server, it shouldn't be used other than to indicate a range.
  Specifically error codes greater than this value, but lesser than Zookeeper::APIERROR, are system
  errors.


id: Zookeeper::__construct
type: function
doc:
<comment>Description:</comment>
  Create a handle to used communicate with zookeeper
  
  This method creates a new handle and a zookeeper session that corresponds to that handle. Session
  establishment is asynchronous, meaning that the session should not be considered established until
  (and unless) an event of state ZOO_CONNECTED_STATE is received.

<comment>Param:</comment>
  <info>string  </info>  <strong>$host        </strong>  comma separated host:port pairs, each corresponding to a zk server. e.g.
                           "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"
  <info>callable</info>  <strong>$watcher_cb  </strong>  the global watcher callback function. When notifications are triggered
                           this function will be invoked.
  <info>int     </info>  <strong>$recv_timeout</strong>  the timeout for this session, only valid if the connections is currently
                           connected (ie. last watcher state is ZOO_CONNECTED_STATE).

<comment>See Also:</comment>
   * Zookeeper::connect
   * <class>ZookeeperException</class>


id: Zookeeper::addAuth
type: function
doc:
<comment>Description:</comment>
  Specify application credentials
  
  The application calls this function to specify its credentials for purposes of authentication. The
  server will use the security provider specified by the scheme parameter to authenticate the client
  connection. If the authentication request has failed: - the server connection is dropped. - the
  watcher is called with the ZOO_AUTH_FAILED_STATE value as the state parameter.

<comment>Param:</comment>
  <info>string  </info>  <strong>$scheme       </strong>  The id of authentication scheme. Natively supported: "digest"
                            password-based authentication
  <info>string  </info>  <strong>$cert         </strong>  Application credentials. The actual value depends on the scheme.
  <info>callable</info>  <strong>$completion_cb</strong>  The routine to invoke when the request completes. One of the following
                            result codes may be passed into the completion callback: - ZOK operation
                            completed successfully - ZAUTHFAILED authentication failed

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * Zookeeper::create
   * Zookeeper::setAcl
   * Zookeeper::getAcl
   * ZooKeeper States
   * <class>ZookeeperException</class>


id: Zookeeper::close
type: function
doc:
<comment>Description:</comment>
  Close the zookeeper handle and free up any resources

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * Zookeeper::__construct
   * Zookeeper::connect
   * <class>ZookeeperException</class>


id: Zookeeper::connect
type: function
doc:
<comment>Description:</comment>
  Create a handle to used communicate with zookeeper
  
  This method creates a new handle and a zookeeper session that corresponds to that handle. Session
  establishment is asynchronous, meaning that the session should not be considered established until
  (and unless) an event of state ZOO_CONNECTED_STATE is received.

<comment>Param:</comment>
  <info>string  </info>  <strong>$host        </strong>  Comma separated host:port pairs, each corresponding to a zk server. e.g.
                           "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"
  <info>callable</info>  <strong>$watcher_cb  </strong>  The global watcher callback function. When notifications are triggered
                           this function will be invoked.
  <info>int     </info>  <strong>$recv_timeout</strong>  The timeout for this session, only valid if the connections is currently
                           connected (ie. last watcher state is ZOO_CONNECTED_STATE).

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * Zookeeper::__construct
   * <class>ZookeeperException</class>


id: Zookeeper::create
type: function
doc:
<comment>Description:</comment>
  Create a node synchronously
  
  This method will create a node in ZooKeeper. A node can only be created if it does not already
  exists. The Create Flags affect the creation of nodes. If ZOO_EPHEMERAL flag is set, the node will
  automatically get removed if the client session goes away. If the ZOO_SEQUENCE flag is set, a
  unique monotonically increasing sequence number is appended to the path name.

<comment>Param:</comment>
  <info>string</info>  <strong>$path </strong>  The name of the node. Expressed as a file name with slashes separating ancestors
                  of the node.
  <info>string</info>  <strong>$value</strong>  The data to be stored in the node.
  <info>array </info>  <strong>$acls </strong>  The initial ACL of the node. The ACL must not be null or empty.
  <info>int   </info>  <strong>$flags</strong>  this parameter can be set to 0 for normal create or an OR of the Create Flags

<comment>Return:</comment>
  <info>string</info>  Returns the path of the new node (this might be different than the supplied path because
          of the ZOO_SEQUENCE flag) on success, and false on failure.

<comment>See Also:</comment>
   * Zookeeper::delete
   * Zookeeper::getChildren
   * ZooKeeper Permissions
   * <class>ZookeeperException</class>


id: Zookeeper::delete
type: function
doc:
<comment>Description:</comment>
  Delete a node in zookeeper synchronously

<comment>Param:</comment>
  <info>string</info>  <strong>$path   </strong>  The name of the node. Expressed as a file name with slashes separating ancestors
                    of the node.
  <info>int   </info>  <strong>$version</strong>  The expected version of the node. The function will fail if the actual version
                    of the node does not match the expected version. If -1 is used the version check
                    will not take place.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * Zookeeper::create
   * Zookeeper::getChildren
   * <class>ZookeeperException</class>


id: Zookeeper::exists
type: function
doc:
<comment>Description:</comment>
  Checks the existence of a node in zookeeper synchronously

<comment>Param:</comment>
  <info>string  </info>  <strong>$path      </strong>  The name of the node. Expressed as a file name with slashes separating
                         ancestors of the node.
  <info>callable</info>  <strong>$watcher_cb</strong>  if nonzero, a watch will be set at the server to notify the client if the
                         node changes. The watch will be set even if the node does not

<comment>Return:</comment>
  <info>array</info>  Returns the value of stat for the path if the given node exists, otherwise false.

<comment>See Also:</comment>
   * Zookeeper::get
   * <class>ZookeeperException</class>


id: Zookeeper::get
type: function
doc:
<comment>Description:</comment>
  Gets the data associated with a node synchronously

<comment>Param:</comment>
  <info>string  </info>  <strong>$path      </strong>  The name of the node. Expressed as a file name with slashes separating
                         ancestors of the node.
  <info>callable</info>  <strong>$watcher_cb</strong>  If nonzero, a watch will be set at the server to notify the client if the
                         node changes.
  <info>array   </info>  <strong>$stat      </strong>  If not NULL, will hold the value of stat for the path on return.
  <info>int     </info>  <strong>$max_size  </strong>  Max size of the data. If 0 is used, this method will return the whole data.

<comment>Return:</comment>
  <info>string</info>  Returns the data on success, and false on failure.

<comment>See Also:</comment>
   * Zookeeper::set
   * <class>ZookeeperException</class>


id: Zookeeper::getAcl
type: function
doc:
<comment>Description:</comment>
  Gets the acl associated with a node synchronously

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>  The name of the node. Expressed as a file name with slashes separating ancestors of
                 the node.

<comment>Return:</comment>
  <info>array</info>  Return acl array on success and false on failure.

<comment>See Also:</comment>
   * Zookeeper::create
   * Zookeeper::setAcl
   * ZooKeeper Permissions
   * <class>ZookeeperException</class>


id: Zookeeper::getChildren
type: function
doc:
<comment>Description:</comment>
  Lists the children of a node synchronously

<comment>Param:</comment>
  <info>string  </info>  <strong>$path      </strong>  The name of the node. Expressed as a file name with slashes separating
                         ancestors of the node.
  <info>callable</info>  <strong>$watcher_cb</strong>  If nonzero, a watch will be set at the server to notify the client if the
                         node changes.

<comment>Return:</comment>
  <info>array</info>  Returns an array with children paths on success, and false on failure.

<comment>See Also:</comment>
   * Zookeeper::create
   * Zookeeper::delete
   * <class>ZookeeperException</class>


id: Zookeeper::getClientId
type: function
doc:
<comment>Description:</comment>
  Return the client session id, only valid if the connections is currently connected (ie. last
  watcher
  state is ZOO_CONNECTED_STATE)

<comment>Return:</comment>
  <info>int</info>  Returns the client session id on success, and false on failure.

<comment>See Also:</comment>
   * Zookeeper::__construct
   * Zookeeper::connect
   * Zookeeper::getState
   * ZooKeeper States
   * <class>ZookeeperException</class>


id: Zookeeper::getConfig
type: function
doc:
<comment>Description:</comment>
  Get instance of ZookeeperConfig

<comment>Return:</comment>
  <info>ZookeeperConfig</info>  Returns instance of ZookeeperConfig.

<comment>See Also:</comment>
   * <class>ZookeeperConfig</class>


id: Zookeeper::getRecvTimeout
type: function
doc:
<comment>Description:</comment>
  Return the timeout for this session, only valid if the connections is currently connected (ie.
  last
  watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect

<comment>Return:</comment>
  <info>int</info>  Returns the timeout for this session on success, and false on failure.

<comment>See Also:</comment>
   * Zookeeper::__construct
   * Zookeeper::connect
   * <class>ZookeeperException</class>


id: Zookeeper::getState
type: function
doc:
<comment>Description:</comment>
  Get the state of the zookeeper connection

<comment>Return:</comment>
  <info>int</info>  Returns the state of zookeeper connection on success, and false on failure.

<comment>See Also:</comment>
   * Zookeeper::__construct
   * Zookeeper::connect
   * Zookeeper::getClientId
   * ZooKeeper States
   * <class>ZookeeperException</class>


id: Zookeeper::isRecoverable
type: function
doc:
<comment>Description:</comment>
  Checks if the current zookeeper connection state can be recovered
  
  The application must close the handle and try to reconnect.

<comment>Return:</comment>
  <info>bool</info>  Returns true/false on success, and false on failure.

<comment>See Also:</comment>
   * Zookeeper::__construct
   * Zookeeper::connect
   * Zookeeper::getClientId
   * ZooKeeper States
   * <class>ZookeeperException</class>


id: Zookeeper::set
type: function
doc:
<comment>Description:</comment>
  Sets the data associated with a node

<comment>Param:</comment>
  <info>string</info>  <strong>$path   </strong>  The name of the node. Expressed as a file name with slashes separating ancestors
                    of the node.
  <info>string</info>  <strong>$value  </strong>  The data to be stored in the node.
  <info>int   </info>  <strong>$version</strong>  The expected version of the node. The function will fail if the actual version
                    of the node does not match the expected version. If -1 is used the version check
                    will not take place.
  <info>array </info>  <strong>$stat   </strong>  If not NULL, will hold the value of stat for the path on return.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * Zookeeper::create
   * Zookeeper::get
   * <class>ZookeeperException</class>


id: Zookeeper::setAcl
type: function
doc:
<comment>Description:</comment>
  Sets the acl associated with a node synchronously

<comment>Param:</comment>
  <info>string</info>  <strong>$path   </strong>  The name of the node. Expressed as a file name with slashes separating ancestors
                    of the node.
  <info>int   </info>  <strong>$version</strong>  The expected version of the path.
  <info>array </info>  <strong>$acl    </strong>  The acl to be set on the path.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * Zookeeper::create
   * Zookeeper::getAcl
   * ZooKeeper Permissions
   * <class>ZookeeperException</class>


id: Zookeeper::setDebugLevel
type: function
doc:
<comment>Description:</comment>
  Sets the debugging level for the library

<comment>Param:</comment>
  <info>int</info>  <strong>$logLevel</strong>  ZooKeeper log level constants.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * ZooKeeper Log Levels
   * <class>ZookeeperException</class>


id: Zookeeper::setDeterministicConnOrder
type: function
doc:
<comment>Description:</comment>
  Enable/disable quorum endpoint order randomization
  
  If passed a true value, will make the client connect to quorum peers in the order as specified in
  the zookeeper_init() call. A false value causes zookeeper_init() to permute the peer endpoints
  which is good for more even client connection distribution among the quorum peers. ZooKeeper C
  Client uses false by default.

<comment>Param:</comment>
  <info>bool</info>  <strong>$yesOrNo</strong>  Disable/enable quorum endpoint order randomization.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * Zookeeper::__construct
   * Zookeeper::connect
   * <class>ZookeeperException</class>


id: Zookeeper::setLogStream
type: function
doc:
<comment>Description:</comment>
  Sets the stream to be used by the library for logging
  
  The zookeeper library uses stderr as its default log stream. Application must make sure the stream
  is writable. Passing in NULL resets the stream to its default value (stderr).

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The stream to be used by the library for logging.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * Zookeeper::setDebugLevel
   * <class>ZookeeperException</class>


id: Zookeeper::setWatcher
type: function
doc:
<comment>Description:</comment>
  Set a watcher function

<comment>Param:</comment>
  <info>callable</info>  <strong>$watcher_cb</strong>  A watch will be set at the server to notify the client if the node changes.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * Zookeeper::exists
   * Zookeeper::get
   * <class>ZookeeperException</class>


id: ZookeeperConfig::add
type: function
doc:
<comment>Description:</comment>
  Add servers to the ensemble

<comment>Param:</comment>
  <info>string</info>  <strong>$members</strong>  Comma separated list of servers to be added to the ensemble. Each has a
                    configuration line for a server to be added (as would appear in a configuration
                    file), only for maj. quorums.
  <info>int   </info>  <strong>$version</strong>  The expected version of the node. The function will fail if the actual version
                    of the node does not match the expected version. If -1 is used the version check
                    will not take place.
  <info>array </info>  <strong>$stat   </strong>  If not NULL, will hold the value of stat for the path on return.

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * ZookeeperConfig::get
   * ZookeeperConfig::set
   * ZookeeperConfig::remove
   * <class>ZookeeperException</class>


id: ZookeeperConfig::get
type: function
doc:
<comment>Description:</comment>
  Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to
  which
  the client is connected, synchronously

<comment>Param:</comment>
  <info>callable</info>  <strong>$watcher_cb</strong>  If nonzero, a watch will be set at the server to notify the client if the
                         node changes.
  <info>array   </info>  <strong>$stat      </strong>  If not NULL, will hold the value of stat for the path on return.

<comment>Return:</comment>
  <info>string</info>  Returns the configuration string on success, and false on failure.

<comment>See Also:</comment>
   * ZookeeperConfig::set
   * ZookeeperConfig::add
   * ZookeeperConfig::remove
   * <class>ZookeeperException</class>


id: ZookeeperConfig::remove
type: function
doc:
<comment>Description:</comment>
  Remove servers from the ensemble

<comment>Param:</comment>
  <info>string</info>  <strong>$id_list</strong>  Comma separated list of server IDs to be removed from the ensemble. Each has an
                    id of a server to be removed, only for maj. quorums.
  <info>int   </info>  <strong>$version</strong>  The expected version of the node. The function will fail if the actual version
                    of the node does not match the expected version. If -1 is used the version check
                    will not take place.
  <info>array </info>  <strong>$stat   </strong>  If not NULL, will hold the value of stat for the path on return.

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * ZookeeperConfig::get
   * ZookeeperConfig::add
   * ZookeeperConfig::set
   * <class>ZookeeperException</class>


id: ZookeeperConfig::set
type: function
doc:
<comment>Description:</comment>
  Change ZK cluster ensemble membership and roles of ensemble peers

<comment>Param:</comment>
  <info>string</info>  <strong>$members</strong>  Comma separated list of new membership (e.g., contents of a membership
                    configuration file) - for use only with a non-incremental reconfiguration.
  <info>int   </info>  <strong>$version</strong>  The expected version of the node. The function will fail if the actual version
                    of the node does not match the expected version. If -1 is used the version check
                    will not take place.
  <info>array </info>  <strong>$stat   </strong>  If not NULL, will hold the value of stat for the path on return.

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * ZookeeperConfig::get
   * ZookeeperConfig::add
   * ZookeeperConfig::remove
   * <class>ZookeeperException</class>


id: ZookeeperMarshallingException
type: class
doc:
<comment>Description:</comment>
  The ZooKeeper exception (while marshalling or unmarshalling data) handling class.


id: ZookeeperNoNodeException
type: class
doc:
<comment>Description:</comment>
  The ZooKeeper exception (when node does not exist) handling class.


id: __CLASS__
type: constant
doc:
<comment>Description:</comment>
  The class name. The class name includes the namespace it was declared in (e.g. <return>Foo\Bar</return>). When used
  in a trait method, __CLASS__ is the name of the class the trait is used in.


id: __DIR__
type: constant
doc:
<comment>Description:</comment>
  The directory of the file.  If used inside an include, the directory of the included file is
  returned. This is equivalent to <return>dirname(__FILE__)</return>. This directory name does not have a trailing
  slash unless it is the root directory.


id: __FILE__
type: constant
doc:
<comment>Description:</comment>
  The full path and filename of the file with symlinks resolved. If used inside an include, the name
  of the included file is returned.


id: __FUNCTION__
type: constant
doc:
<comment>Description:</comment>
  The function name, or <return>{closure}</return> for anonymous functions.


id: __TRAIT__
type: constant
doc:
<comment>Description:</comment>
  The trait name. The trait name includes the namespace it was declared in (e.g. <return>Foo\Bar</return>).


id: __autoload
type: function
doc:
<comment>Description:</comment>
  Attempt to load undefined class
  
  You can define this function to enable classes autoloading.

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>  Name of the class to load

<comment>Return:</comment>
  <info>void</info>  Nu este întoarsă nici o valoare.

<comment>See Also:</comment>
   * <strong>spl_autoload_register()</strong>


id: __halt_compiler
type: function
doc:
<comment>Description:</comment>
  Halts the compiler execution
    
  
  Halts the execution of the compiler. This can be useful to embed data in PHP scripts, like the
  installation files.
  
  Byte position of the data start can be determined by the <info>__COMPILER_HALT_OFFSET__</info> constant which
  is defined only if there is a <strong>__halt_compiler()</strong> presented in the file.

<comment>Return:</comment>
  <info>void</info>  Nu este întoarsă nici o valoare.


id: abs
type: function
doc:
<comment>Description:</comment>
  Absolute value
  
  Returns the absolute value of <strong>$number</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$number</strong>  The numeric value to process

<comment>Return:</comment>
  <info>intfloat</info>  The absolute value of <strong>$number</strong>. If the argument <strong>$number</strong> is of type <info>float</info>, the return type
            is also <info>float</info>, otherwise it is <info>int</info> (as <info>float</info> usually has a bigger value range than <info>int</info>).

<comment>See Also:</comment>
   * <strong>gmp_abs()</strong>
   * <strong>gmp_sign()</strong>


id: acos
type: function
doc:
<comment>Description:</comment>
  Arc cosine
  
  Returns the arc cosine of <strong>$num</strong> in radians. <strong>acos()</strong> is the inverse function of <strong>cos()</strong>, which means
  that <return>a==cos(acos(a))</return> for every value of a that is within <strong>acos()</strong>' range.

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  The argument to process

<comment>Return:</comment>
  <info>float</info>  The arc cosine of <strong>$num</strong> in radians.

<comment>See Also:</comment>
   * <strong>cos()</strong>
   * <strong>acosh()</strong>
   * <strong>asin()</strong>
   * <strong>atan()</strong>


id: acosh
type: function
doc:
<comment>Description:</comment>
  Inverse hyperbolic cosine
  
  Returns the inverse hyperbolic cosine of <strong>$num</strong>, i.e. the value whose hyperbolic cosine is <strong>$num</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  The value to process

<comment>Return:</comment>
  <info>float</info>  The inverse hyperbolic cosine of <strong>$num</strong>

<comment>See Also:</comment>
   * <strong>cosh()</strong>
   * <strong>acos()</strong>
   * <strong>asinh()</strong>
   * <strong>atanh()</strong>


id: addcslashes
type: function
doc:
<comment>Description:</comment>
  Quote string with slashes in a C style
  
  Returns a string with backslashes before characters that are listed in <strong>$characters</strong> parameter.

<comment>Param:</comment>
  <info>string</info>  <strong>$string    </strong>  The string to be escaped.
  <info>string</info>  <strong>$characters</strong>  A list of characters to be escaped. If <strong>$characters</strong> contains characters <return>\n</return>, <return>\r</return>
                       etc., they are converted in C-like style, while other non-alphanumeric
                       characters with ASCII codes lower than 32 and higher than 126 converted to
                       octal representation.
                       
                       When you define a sequence of characters in the charlist argument make sure
                       that you know what characters come between the characters that you set as the
                       start and end of the range.
                       ]]> Also, if the first character in a range has a higher ASCII value than the
                       second character in the range, no range will be constructed.  Only the start,
                       end and period characters will be escaped. Use the <strong>ord()</strong> function to find the
                       ASCII value for a character.
                       ]]>
                       
                       Be careful if you choose to escape characters 0, a, b, f, n, r, t and v. They
                       will be converted to \0, \a, \b, \f, \n, \r, \t and \v, all of which are
                       predefined escape sequences in C. Many of these sequences are also defined in
                       other C-derived languages, including PHP, meaning that you may not get the
                       desired result if you use the output of <strong>addcslashes()</strong> to generate code in
                       those languages with these characters defined in <strong>$characters</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns the escaped string.

<comment>See Also:</comment>
   * <strong>stripcslashes()</strong>
   * <strong>stripslashes()</strong>
   * <strong>addslashes()</strong>
   * <strong>htmlspecialchars()</strong>
   * <strong>quotemeta()</strong>


id: addslashes
type: function
doc:
<comment>Description:</comment>
  Quote string with slashes
  
  Returns a string with backslashes added before characters that need to be escaped. These
  characters are: single quote (<return>'</return>)double quote (<return>"</return>)backslash (<return>\</return>)NUL (the NUL byte)
  
  A use case of <strong>addslashes()</strong> is escaping the aforementioned characters in a string that is to be
  evaluated by PHP:
  ]]>
  
  Prior to PHP 5.4.0, the PHP directive magic_quotes_gpc was <return>on</return> by default and it essentially ran
  <strong>addslashes()</strong> on all GET, POST and COOKIE data. <strong>addslashes()</strong> must not be used on strings that have
  already been escaped with magic_quotes_gpc, as the strings will be double escaped.
  <strong>get_magic_quotes_gpc()</strong> can be used to check if magic_quotes_gpc is <return>on</return>.
  
  The <strong>addslashes()</strong> is sometimes incorrectly used to try to prevent SQL Injection. Instead,
  database-specific escaping functions and/or prepared statements should be used.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  The string to be escaped.

<comment>Return:</comment>
  <info>string</info>  Returns the escaped string.

<comment>See Also:</comment>
   * <strong>stripcslashes()</strong>
   * <strong>stripslashes()</strong>
   * <strong>addcslashes()</strong>
   * <strong>htmlspecialchars()</strong>
   * <strong>quotemeta()</strong>
   * <strong>get_magic_quotes_gpc()</strong>


id: apache_child_terminate
type: function
doc:
<comment>Description:</comment>
  Termină (lichidează) procesul apache după această cerere
  
  <strong>apache_child_terminate()</strong> va înregistra procesul Apache, ce execută interpelarea dată PHP, pentru a
  fi terminat (lichidat) odată cu finalizarea executării codului PHP. Această funcție poate fi
  utilizată pentru a termina un proces după rularea unui script cu un consum de memorie substanțial,
  deoarece memoria de obicei este eliberată intern și nu este întoarsă sistemului de operare.
  
  Lucrează în Apache, FastCGI și modul NSAPI pe webservere Netscape/iPlanet/SunONE.

<comment>Return:</comment>
  <info>bool</info>  Întoarce <info>true</info> dacă PHP rulează în calitate de modul Apache 1, Apache nu rulează pe mai multe
        fire de execuție și directiva PHP child_terminate este activată (ea este dezactivată
        implicit). Dacă aceste condiții nu sunt satisfăcute, este întors <info>false</info> și este generată o
        eroare de nivel <info>E_WARNING</info>.

<comment>See Also:</comment>
   * <strong>exit()</strong>


id: apache_get_modules
type: function
doc:
<comment>Description:</comment>
  Get a list of loaded Apache modules
  
  Get a list of loaded Apache modules.

<comment>Return:</comment>
  <info>array</info>  An <info>array</info> of loaded Apache modules.


id: apache_get_version
type: function
doc:
<comment>Description:</comment>
  Fetch Apache version
  
  Fetch the Apache version.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the Apache version on success sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>phpinfo()</strong>


id: apache_getenv
type: function
doc:
<comment>Description:</comment>
  Get an Apache subprocess_env variable
  
  Retrieve an Apache environment variable specified by  <strong>$variable</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$variable   </strong>  The Apache environment variable
  <info>bool  </info>  <strong>$walk_to_top</strong>  Whether to get the top-level variable available to all Apache layers.

<comment>Return:</comment>
  <info>stringfalse</info>  The value of the Apache environment variable on success, or <info>false</info> on failure

<comment>See Also:</comment>
   * <strong>apache_setenv()</strong>
   * <strong>getenv()</strong>
   * Superglobals


id: apache_lookup_uri
type: function
doc:
<comment>Description:</comment>
  Efectuează o interpelare parțială pentru URI specificat și
    întoarce toate informațiile despre el
  
  Aceasta efectuează o interpelare parțială pentru un URI. Interpelarea se derulează doar până la
  etapa obținerii tuturor informațiilor importante despre resursa dată.
  
  Această funcție e susținută atunci când PHP este instalat ca modul Apache sau ca
  Modul server NSAPI în servere web
  Netscape/iPlanet/SunONE.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Denumirea fișierului (URI) care este interpelat.

<comment>Return:</comment>
  <info>object</info>  Un <info>object</info> cu informațiile ce se referă la URI. Proprietățile acestui <info>object</info> sunt:
          
          
          statusthe_requeststatus_linemethodcontent_typehandlerurifilenamepath_infoargsboundaryno_cacheno_local_copyallowedsend_bodyctbytes_sentbyterangeclengthunparsed_urimtimerequest_time


id: apache_note
type: function
doc:
<comment>Description:</comment>
  Obține și stabilește note ale interpelărilor apache
  
  Această funcție este un înveliș pentru <return>table_get</return> și <return>table_set</return> ale Apache. Ea redactează tabelul
  notelor care există în timpul derulării interpelării. Scopul tabelului este de a permite modulelor
  Apache să comunice între ele.
  
  Utilizarea de bază a <strong>apache_note()</strong> este pentru a transmite informații dintr-un modul în altul în
  cadrul aceleiași interpelări.

<comment>Param:</comment>
  <info>string</info>  <strong>$note_name </strong>  Denumirea notei.
  <info>string</info>  <strong>$note_value</strong>  Valoarea notei.

<comment>Return:</comment>
  <info>string</info>  Dacă este apelată cu un singur argument, funcția întoarce valoarea curentă a notei
          <return>note_name</return>. Dacă este apelată cu doi argumenți, funcția stabilește valoarea notei <return>note_name</return>
          în <return>note_value</return> și întoarce valoarea precedentă a notei <return>note_name</return>. Dacă nota nu poate fi
          obținută se întoarce <info>false</info>.

<comment>See Also:</comment>
   * <strong>virtual()</strong>


id: apache_request_headers
type: function
doc:
<comment>Description:</comment>
  Fetch all HTTP request headers
  
  Fetches all HTTP request headers from the current request. Works in the Apache, FastCGI, CLI, FPM
  and NSAPI server module in Netscape/iPlanet/SunONE webservers.

<comment>Return:</comment>
  <info>array</info>  An associative array of all the HTTP headers in the current request, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>apache_response_headers()</strong>


id: apache_reset_timeout
type: function
doc:
<comment>Description:</comment>
  Reset the Apache write timer
  
  <strong>apache_reset_timeout()</strong> resets the Apache write timer, which defaults to 300 seconds. With
  <return>set_time_limit(0); ignore_user_abort(true)</return> and periodic <strong>apache_reset_timeout()</strong> calls, Apache can
  theoretically run forever.
  
  This function requires Apache 1.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>set_time_limit()</strong>
   * <strong>ignore_user_abort()</strong>


id: apache_response_headers
type: function
doc:
<comment>Description:</comment>
  Fetch all HTTP response headers
  
  Fetch all HTTP response headers.  Works in the Apache, FastCGI, CLI, FPM and NSAPI server module
  in Netscape/iPlanet/SunONE webservers.

<comment>Return:</comment>
  <info>arrayfalse</info>  An array of all Apache response headers on success sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>apache_request_headers()</strong>
   * <strong>headers_sent()</strong>
   * <strong>headers_list()</strong>


id: apache_setenv
type: function
doc:
<comment>Description:</comment>
  Stabilește o variabilă de mediu a unui subprocess Apache
  
  <strong>apache_setenv()</strong> stabilește valoarea unei variabile de mediu Apache specificată prin <strong>$variable</strong>.
  
  La stabilirea unei variabile de mediu Apache, variabila $_SERVER corespunzătoare nu este
  schimbată.

<comment>Param:</comment>
  <info>string</info>  <strong>$variable   </strong>  Variabila de mediu ce se stabilește.
  <info>string</info>  <strong>$value      </strong>  Valoarea nouă a <strong>$variable</strong>.
  <info>bool  </info>  <strong>$walk_to_top</strong>  Determină dacă se va stabili variabila de cel mai înalt nivel, disponibilă
                        la toate nivelele Apache.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>apache_getenv()</strong>


id: apcu_add
type: function
doc:
<comment>Description:</comment>
  Cache a new variable in the data store
    
  
  Caches a variable in the data store, only if it's not already stored.
  
  Unlike many other mechanisms in PHP, variables stored using <strong>apcu_add()</strong> will persist between
  requests (until the value is removed from the cache).

<comment>Param:</comment>
  <info>string</info>  <strong>$key   </strong>  Store the variable using this name. <strong>$key</strong>s are cache-unique, so attempting to use
                   <strong>apcu_add()</strong> to store data with a key that already exists will not overwrite the
                   existing data, and will instead return <info>false</info>. (This is the only difference
                   between <strong>apcu_add()</strong> and <strong>apcu_store()</strong>.)
  <info>mixed </info>  <strong>$var   </strong>  The variable to store
  <info>int   </info>  <strong>$ttl   </strong>  Time To Live; store <strong>$var</strong> in the cache for <strong>$ttl</strong> seconds. After the <strong>$ttl</strong> has
                   passed, the stored variable will be expunged from the cache (on the next
                   request). If no <strong>$ttl</strong> is supplied (or if the <strong>$ttl</strong> is <return>0</return>), the value will persist
                   until it is removed from the cache manually, or otherwise fails to exist in the
                   cache (clear, restart, etc.).
  <info>array </info>  <strong>$values</strong>  Names in key, variables in value.

<comment>Return:</comment>
  <info>bool</info>  Returns TRUE if something has effectively been added into the cache, FALSE otherwise. Second
        syntax returns array with error keys.

<comment>See Also:</comment>
   * <strong>apcu_store()</strong>
   * <strong>apcu_fetch()</strong>
   * <strong>apcu_delete()</strong>


id: apcu_cache_info
type: function
doc:
<comment>Description:</comment>
  Retrieves cached information from APCu's data store
    
  
  Retrieves cached information and meta-data from APC's data store.

<comment>Param:</comment>
  <info>bool</info>  <strong>$limited</strong>  If <strong>$limited</strong> is <info>true</info>, the return value will exclude the individual list of cache
                  entries.  This is useful when trying to optimize calls for statistics gathering.

<comment>Return:</comment>
  <info>arrayfalse</info>  Array of cached data (and meta-data) sau <info>false</info> în cazul eșecului
              
              <strong>apcu_cache_info()</strong> will raise a warning if it is unable to retrieve APC cache data.
              This typically occurs when APC is not enabled.

<comment>See Also:</comment>
   * APCu configuration directives
   * APCUIterator::getTotalSize
   * APCUIterator::getTotalHits
   * APCUIterator::getTotalCount


id: apcu_cas
type: function
doc:
<comment>Description:</comment>
  Updates an old value with a new value
  
  <strong>apcu_cas()</strong> updates an already existing integer value if the  <strong>$old</strong> parameter matches the currently
  stored value  with the value of the <strong>$new</strong> parameter.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  The key of the value being updated.
  <info>int   </info>  <strong>$old</strong>  The old value (the value currently stored).
  <info>int   </info>  <strong>$new</strong>  The new value to update to.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>apcu_dec()</strong>
   * <strong>apcu_store()</strong>


id: apcu_clear_cache
type: function
doc:
<comment>Description:</comment>
  Clears the APCu cache
    
  
  Clears the cache.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> always

<comment>See Also:</comment>
   * <strong>apcu_cache_info()</strong>


id: apcu_dec
type: function
doc:
<comment>Description:</comment>
  Decrease a stored number
  
  Decreases a stored integer value.

<comment>Param:</comment>
  <info>string</info>  <strong>$key    </strong>  The key of the value being decreased.
  <info>int   </info>  <strong>$step   </strong>  The step, or value to decrease.
  <info>bool  </info>  <strong>$success</strong>  Optionally pass the success or fail boolean value to this referenced variable.
  <info>int   </info>  <strong>$ttl    </strong>  TTL to use if the operation inserts a new value (rather than decrementing an
                    existing one).

<comment>Return:</comment>
  <info>intfalse</info>  Returns the current value of <strong>$key</strong>'s value on success, sau <info>false</info> în cazul eșecului

<comment>See Also:</comment>
   * <strong>apcu_inc()</strong>


id: apcu_delete
type: function
doc:
<comment>Description:</comment>
  Removes a stored variable from the cache
    
  
  Removes a stored variable from the cache.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$key</strong>  A <strong>$key</strong> used to store the value as a <info>string</info> for a single key, or as an <info>array</info> of
               strings for several keys, or as an <class>APCUIterator</class> <info>object</info>.

<comment>Return:</comment>
  <info>mixed</info>  If <strong>$key</strong> is an <info>array</info>, an indexed <info>array</info> of the keys is returned. Otherwise <info>true</info> is returned
         on success, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>apcu_store()</strong>
   * <strong>apcu_fetch()</strong>
   * <strong>apcu_clear_cache()</strong>
   * <class>APCUIterator</class>


id: apcu_enabled
type: function
doc:
<comment>Description:</comment>
  Whether APCu is usable in the current environment
  
  Returns whether APCu is usable in the current environment.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> when APCu is usable in the current environment, <info>false</info> otherwise.


id: apcu_entry
type: function
doc:
<comment>Description:</comment>
  Atomically fetch or generate a cache entry
    
  
  Atomically attempts to find <strong>$key</strong> in the cache, if it cannot be found <strong>$generator</strong> is called, passing
  <strong>$key</strong> as the only argument. The return value of the call is then cached with the optionally
  specified <strong>$ttl</strong>, and returned.
  
  When control enters <strong>apcu_entry()</strong> the lock for the cache is acquired exclusively, it is released
  when control leaves <strong>apcu_entry()</strong>:  In effect, this turns the body of <strong>$generator</strong> into a critical
  section, disallowing two processes from executing the same code paths concurrently. In addition,
  it prohibits the concurrent execution of any other APCu functions, since they will acquire the
  same lock.
  
  The only APCu function that can be called safely by <strong>$generator</strong> is <strong>apcu_entry()</strong>.

<comment>Param:</comment>
  <info>string  </info>  <strong>$key      </strong>  Identity of cache entry
  <info>callable</info>  <strong>$generator</strong>  A callable that accepts <strong>$key</strong> as the only argument and returns the value to
                        cache.
  <info>int     </info>  <strong>$ttl      </strong>  Time To Live; store <strong>$var</strong> in the cache for <strong>$ttl</strong> seconds. After the <strong>$ttl</strong> has
                        passed, the stored variable will be expunged from the cache (on the next
                        request). If no <strong>$ttl</strong> is supplied (or if the <strong>$ttl</strong> is <return>0</return>), the value will
                        persist until it is removed from the cache manually, or otherwise fails to
                        exist in the cache (clear, restart, etc.).

<comment>Return:</comment>
  <info>mixed</info>  Returns the cached value

<comment>See Also:</comment>
   * <strong>apcu_store()</strong>
   * <strong>apcu_fetch()</strong>
   * <strong>apcu_delete()</strong>


id: apcu_exists
type: function
doc:
<comment>Description:</comment>
  Checks if entry exists
  
  Checks if one or more APCu entries exist.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$keys</strong>  A <info>string</info>, or an <info>array</info> of strings, that contain keys.

<comment>Return:</comment>
  <info>mixed</info>  Returns <info>true</info> if the key exists, otherwise <info>false</info> Or if an <info>array</info> was passed to <strong>$keys</strong>, then an
         array is returned that contains all existing keys, or an empty array if none exist.

<comment>See Also:</comment>
   * <strong>apcu_cache_info()</strong>
   * <strong>apcu_fetch()</strong>


id: apcu_fetch
type: function
doc:
<comment>Description:</comment>
  Fetch a stored variable from the cache
    
  
  Fetches an entry from the cache.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$key    </strong>  The <strong>$key</strong> used to store the value (with <strong>apcu_store()</strong>). If an array is passed then
                   each element is fetched and returned.
  <info>bool </info>  <strong>$success</strong>  Set to <info>true</info> in success and <info>false</info> in failure.

<comment>Return:</comment>
  <info>mixed</info>  The stored variable or array of variables on success; <info>false</info> on failure

<comment>See Also:</comment>
   * <strong>apcu_store()</strong>
   * <strong>apcu_delete()</strong>
   * <class>APCUIterator</class>


id: apcu_inc
type: function
doc:
<comment>Description:</comment>
  Increase a stored number
  
  Increases a stored number.

<comment>Param:</comment>
  <info>string</info>  <strong>$key    </strong>  The key of the value being increased.
  <info>int   </info>  <strong>$step   </strong>  The step, or value to increase.
  <info>bool  </info>  <strong>$success</strong>  Optionally pass the success or fail boolean value to this referenced variable.
  <info>int   </info>  <strong>$ttl    </strong>  TTL to use if the operation inserts a new value (rather than incrementing an
                    existing one).

<comment>Return:</comment>
  <info>intfalse</info>  Returns the current value of <strong>$key</strong>'s value on success, sau <info>false</info> în cazul eșecului

<comment>See Also:</comment>
   * <strong>apcu_dec()</strong>


id: apcu_key_info
type: function
doc:
<comment>Description:</comment>
  Get detailed information about the cache key
    
  
  Get detailed information about the cache key

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  Get detailed information about the cache key

<comment>Return:</comment>
  <info>array</info>  null or array info

<comment>See Also:</comment>
   * <strong>apcu_store()</strong>
   * <strong>apcu_fetch()</strong>
   * <strong>apcu_delete()</strong>


id: apcu_sma_info
type: function
doc:
<comment>Description:</comment>
  Retrieves APCu Shared Memory Allocation information
    
  
  Retrieves APCu Shared Memory Allocation information.

<comment>Param:</comment>
  <info>bool</info>  <strong>$limited</strong>  When set to <info>false</info> (default) <strong>apcu_sma_info()</strong> will return a detailed information
                  about each segment.

<comment>Return:</comment>
  <info>array</info>  Array of Shared Memory Allocation data; <info>false</info> on failure.

<comment>See Also:</comment>
   * APCu configuration directives


id: apcu_store
type: function
doc:
<comment>Description:</comment>
  Cache a variable in the data store
    
  
  Cache a variable in the data store.
  
  Unlike many other mechanisms in PHP, variables stored using <strong>apcu_store()</strong> will persist between
  requests (until the value is removed from the cache).

<comment>Param:</comment>
  <info>string</info>  <strong>$key   </strong>  Store the variable using this name. <strong>$key</strong>s are cache-unique, so storing a second
                   value with the same <strong>$key</strong> will overwrite the original value.
  <info>mixed </info>  <strong>$var   </strong>  The variable to store
  <info>int   </info>  <strong>$ttl   </strong>  Time To Live; store <strong>$var</strong> in the cache for <strong>$ttl</strong> seconds. After the <strong>$ttl</strong> has
                   passed, the stored variable will be expunged from the cache (on the next
                   request). If no <strong>$ttl</strong> is supplied (or if the <strong>$ttl</strong> is <return>0</return>), the value will persist
                   until it is removed from the cache manually, or otherwise fails to exist in the
                   cache (clear, restart, etc.).
  <info>array </info>  <strong>$values</strong>  Names in key, variables in value.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului. Second syntax returns array with error keys.

<comment>See Also:</comment>
   * <strong>apcu_add()</strong>
   * <strong>apcu_fetch()</strong>
   * <strong>apcu_delete()</strong>


id: array
type: function
doc:
<comment>Description:</comment>
  Creează un tablou
  
  Creează un tablou. Citiți secțiunea despre tipul array pentru informații suplimentare despre ce
  este un tablou.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$...</strong>  Sintaxa "indice =&gt; valori", separate prin virgule, definesc indicii și valorile.
               Indicele poate fi de tip string sau integer. Când indicele este omis, este generat
               automat un indice de tip integer, începând cu 0. Dacă indicele este de tip integer,
               următorul indice generat va fi cel mai mare indice întreg + 1. Observați că atunci
               când sunt definiți doi indici identici, ultima definiție se suprapune peste prima.
               
               Plasarea unei virgule după ultima înregistrare definită în tablou este o sintaxă
               validă, cu toate că este neobișniută.

<comment>Return:</comment>
  <info>array</info>  Întoarce un tablou al parametrilor. Parametrilor le poate fi asociat un indice cu ajutorul
         operatorului <return>=&gt;</return>. Citiți secțiunea despre tipul array pentru informații suplimentare
         despre ce este un tablou.

<comment>See Also:</comment>
   * <strong>array_pad()</strong>
   * <strong>list()</strong>
   * <strong>count()</strong>
   * <strong>range()</strong>
   * foreach
   * Tipul array


id: array_change_key_case
type: function
doc:
<comment>Description:</comment>
  Modifică caracterele (minuscule/majuscule) tuturor cheilor unui tablou
  
  Întoarce un tablou cu toate cheile din <strong>$array</strong> transferate în caractere minuscule sau majuscule.
  Indicii-numere rămân precum sunt.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  Tabloul asupra căruia se lucrează
  <info>int  </info>  <strong>$case </strong>  Poate lua valoarea <info>CASE_UPPER</info> sau <info>CASE_LOWER</info> (implicit)

<comment>Return:</comment>
  <info>array</info>  Întoarce un tablou cu cheile transferate în caractere minuscule sau majuscule, sau <info>false</info>
         dacă <strong>$array</strong> nu este un tablou.


id: array_chunk
type: function
doc:
<comment>Description:</comment>
  Desparte un tablou în porțiuni
  
  Desparte un tablou în porțiuni de dimensiunea <strong>$size</strong>. Ultima porțiune poate să conțină mai puține
  elemente decât <strong>$size</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$array        </strong>  Tabloul cu care se lucrează
  <info>int  </info>  <strong>$size         </strong>  Dimensiunea fiecărei porțiuni
  <info>bool </info>  <strong>$preserve_keys</strong>  Când este stabilit în <info>true</info> cheile vor fi păstrate. Implicit sete <info>false</info>,
                         ceea ce va reindexa numeric porțiunea

<comment>Return:</comment>
  <info>array</info>  Întoarce un tablou multidimensional indexat numeric, începând cu zero, fiecare dimensiune
         conținând <strong>$size</strong> elemente.

<comment>See Also:</comment>
   * <strong>array_slice()</strong>


id: array_column
type: function
doc:
<comment>Description:</comment>
  Return the values from a single column in the input array
  
  <strong>array_column()</strong> returns the values from a single column of the <strong>$array</strong>, identified by the
  <strong>$column_key</strong>. Optionally, an <strong>$index_key</strong> may be provided to index the values in the returned array
  by the values from the <strong>$index_key</strong> column of the input array.

<comment>Param:</comment>
  <info>array        </info>  <strong>$array     </strong>  A multi-dimensional array or an array of objects from which to pull a
                              column of values from. If an array of objects is provided, then public
                              properties can be directly pulled. In order for protected or private
                              properties to be pulled, the class must implement both the <strong>__get()</strong> and
                              <strong>__isset()</strong> magic methods.
  <info>intstringnull</info>  <strong>$column_key</strong>  The column of values to return. This value may be an integer key of
                              the column you wish to retrieve, or it may be a string key name for an
                              associative array or property name. It may also be <info>null</info> to return
                              complete arrays or objects (this is useful together with <strong>$index_key</strong> to
                              reindex the array).
  <info>intstringnull</info>  <strong>$index_key </strong>  The column to use as the index/keys for the returned array. This value
                              may be the integer key of the column, or it may be the string key
                              name. The value is cast as usual for array keys (however, objects
                              supporting conversion to string are also allowed).

<comment>Return:</comment>
  <info>array</info>  Returns an array of values representing a single column from the input array.

<comment>See Also:</comment>
   * Recommended
     userland implementation for PHP lower than 5.5


id: array_combine
type: function
doc:
<comment>Description:</comment>
  Creates an array by using one array for keys and another for its values
  
  Creates an <info>array</info> by using the values from the <strong>$keys</strong> array as keys and the values from the <strong>$values</strong>
  array as the corresponding values.

<comment>Param:</comment>
  <info>array</info>  <strong>$keys  </strong>  Array of keys to be used. Illegal values for key will be converted to <info>string</info>.
  <info>array</info>  <strong>$values</strong>  <info>Array</info> of values to be used

<comment>Return:</comment>
  <info>array</info>  Returns the combined <info>array</info>, <info>false</info> if the number of elements for each array isn't equal.

<comment>See Also:</comment>
   * <strong>array_merge()</strong>
   * <strong>array_walk()</strong>
   * <strong>array_values()</strong>


id: array_count_values
type: function
doc:
<comment>Description:</comment>
  Numără toate valorile unui tablou
  
  <strong>array_count_values()</strong> întoarce un tablou utilizând valorile tabloului <strong>$array</strong> în calitate de chei și
  frecvența apariției lor în <strong>$array</strong> în calitate de valori.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  Tabloul valorilor ce vor fi numărate

<comment>Return:</comment>
  <info>array</info>  Întoarce un tablou asociativ de valori din <strong>$array</strong> în calitate de chei și numărul lor în
         calitate de valori.

<comment>See Also:</comment>
   * <strong>count()</strong>
   * <strong>array_unique()</strong>
   * <strong>array_values()</strong>
   * <strong>count_chars()</strong>


id: array_diff
type: function
doc:
<comment>Description:</comment>
  Calculează diferența dintre tablouri
  
  Compară <strong>$array1</strong> cu unul sau mai multe tablouri și întoarce valorile din <strong>$array1</strong> care nu sunt
  prezente în celelalte tablouri.

<comment>Param:</comment>
  <info>array</info>  <strong>$array1</strong>  Tabloul de referință
  <info>array</info>  <strong>$array2</strong>  Tabloul care se compară
  <info>array</info>  <strong>$...   </strong>  Mai multe tablouri pentru a se compara

<comment>Return:</comment>
  <info>array</info>  Întoarce un <info>array</info> ce conține toate înregistrările din <strong>$array1</strong> care nu sunt prezente nici în
         unul din celelalte tablouri. Cheile din tabloul <strong>$array1</strong> sunt păstrate.

<comment>See Also:</comment>
   * <strong>array_diff_assoc()</strong>
   * <strong>array_udiff()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>


id: array_diff_assoc
type: function
doc:
<comment>Description:</comment>
  Computes the difference of arrays with additional index check
  
  Compares <strong>$array</strong> against <strong>$arrays</strong> and returns the difference. Unlike <strong>array_diff()</strong> the array keys are
  also used in the comparison.

<comment>Param:</comment>
  <info>array</info>  <strong>$array </strong>  The array to compare from
  <info>array</info>  <strong>$arrays</strong>  Arrays to compare against

<comment>Return:</comment>
  <info>array</info>  Returns an <info>array</info> containing all the values from <strong>$array</strong> that are not present in any of the
         other arrays.

<comment>See Also:</comment>
   * <strong>array_diff()</strong>
   * <strong>array_diff_uassoc()</strong>
   * <strong>array_udiff_assoc()</strong>
   * <strong>array_udiff_uassoc()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>


id: array_diff_key
type: function
doc:
<comment>Description:</comment>
  Computes the difference of arrays using keys for comparison
  
  Compares the keys from <strong>$array</strong> against the keys from <strong>$arrays</strong> and returns the difference. This
  function is like <strong>array_diff()</strong> except the comparison is done on the keys instead of the values.

<comment>Param:</comment>
  <info>array</info>  <strong>$array </strong>  The array to compare from
  <info>array</info>  <strong>$arrays</strong>  Arrays to compare against

<comment>Return:</comment>
  <info>array</info>  Returns an <info>array</info> containing all the entries from <strong>$array</strong> whose keys are absent from all of
         the other arrays.

<comment>See Also:</comment>
   * <strong>array_diff()</strong>
   * <strong>array_udiff()</strong>
   * <strong>array_diff_assoc()</strong>
   * <strong>array_diff_uassoc()</strong>
   * <strong>array_udiff_assoc()</strong>
   * <strong>array_udiff_uassoc()</strong>
   * <strong>array_diff_ukey()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_intersect_uassoc()</strong>
   * <strong>array_intersect_key()</strong>
   * <strong>array_intersect_ukey()</strong>


id: array_diff_uassoc
type: function
doc:
<comment>Description:</comment>
  Computes the difference of arrays with additional index check which is performed by a user
  supplied
  callback function
  
  Compares <strong>$array</strong> against <strong>$arrays</strong> and returns the difference. Unlike <strong>array_diff()</strong> the array keys are
  used in the comparison.
  
  Unlike <strong>array_diff_assoc()</strong> a user supplied callback function is used for the indices comparison,
  not internal function.

<comment>Param:</comment>
  <info>array   </info>  <strong>$array           </strong>  The array to compare from
  <info>array   </info>  <strong>$arrays          </strong>  Arrays to compare against
  <info>callable</info>  <strong>$key_compare_func</strong>  Funcția de comparare trebuie să întoarcă un întreg
                               mai mic, egal cu sau mai mare decât zero dacă primul argument este
                               considerat
                               respectiv mai mic, egal cu sau mai mare decât al doilea argument.
                               Notă: înainte
                               de PHP 7.0.0 acest întreg trebuia să fie cuprins în domeniul de la
                               -2147483648
                               până la 2147483647.

<comment>Return:</comment>
  <info>array</info>  Returns an <info>array</info> containing all the entries from <strong>$array</strong> that are not present in any of the
         other arrays.

<comment>See Also:</comment>
   * <strong>array_diff()</strong>
   * <strong>array_diff_assoc()</strong>
   * <strong>array_udiff()</strong>
   * <strong>array_udiff_assoc()</strong>
   * <strong>array_udiff_uassoc()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_uintersect()</strong>
   * <strong>array_uintersect_assoc()</strong>
   * <strong>array_uintersect_uassoc()</strong>


id: array_diff_ukey
type: function
doc:
<comment>Description:</comment>
  Computes the difference of arrays using a callback function on the keys for comparison
  
  Compares the keys from <strong>$array</strong> against the keys from <strong>$arrays</strong> and returns the difference. This
  function is like <strong>array_diff()</strong> except the comparison is done on the keys instead of the values.
  
  Unlike <strong>array_diff_key()</strong> a user supplied callback function is used for the indices comparison, not
  internal function.

<comment>Param:</comment>
  <info>array   </info>  <strong>$array           </strong>  The array to compare from
  <info>array   </info>  <strong>$arrays          </strong>  Arrays to compare against
  <info>callable</info>  <strong>$key_compare_func</strong>  Funcția de comparare trebuie să întoarcă un întreg
                               mai mic, egal cu sau mai mare decât zero dacă primul argument este
                               considerat
                               respectiv mai mic, egal cu sau mai mare decât al doilea argument.
                               Notă: înainte
                               de PHP 7.0.0 acest întreg trebuia să fie cuprins în domeniul de la
                               -2147483648
                               până la 2147483647.

<comment>Return:</comment>
  <info>array</info>  Returns an <info>array</info> containing all the entries from <strong>$array</strong> that are not present in any of the
         other arrays.

<comment>See Also:</comment>
   * <strong>array_diff()</strong>
   * <strong>array_udiff()</strong>
   * <strong>array_diff_assoc()</strong>
   * <strong>array_diff_uassoc()</strong>
   * <strong>array_udiff_assoc()</strong>
   * <strong>array_udiff_uassoc()</strong>
   * <strong>array_diff_key()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_intersect_uassoc()</strong>
   * <strong>array_intersect_key()</strong>
   * <strong>array_intersect_ukey()</strong>


id: array_fill
type: function
doc:
<comment>Description:</comment>
  Completează un tablou cu valori
  
  Completează un tablou cu <strong>$num</strong> înregistrări cu valoarea parametrului <strong>$value</strong>, cheile începând de la
  valoarea parametrului <strong>$start_index</strong>.

<comment>Param:</comment>
  <info>int  </info>  <strong>$start_index</strong>  Primul indice al tabloului întors.
                       
                       Dacă <strong>$start_index</strong> este negativ, primul indice al tabloului întors va fi
                       <strong>$start_index</strong> și următorii indici vor începe de la zero (vedeți exemplul).
  <info>int  </info>  <strong>$num        </strong>  Numărul elementelor pentru a fi inserate. Trebuie să fie mai mare decât sau
                       egal cu zero.
  <info>mixed</info>  <strong>$value      </strong>  Valoarea utilizată pentru a completa tabloul

<comment>Return:</comment>
  <info>array</info>  Întoarce tabloul completat

<comment>See Also:</comment>
   * <strong>array_fill_keys()</strong>
   * <strong>str_repeat()</strong>
   * <strong>range()</strong>


id: array_fill_keys
type: function
doc:
<comment>Description:</comment>
  Fill an array with values, specifying keys
  
  Fills an array with the value of the <strong>$value</strong> parameter, using the values of the <strong>$keys</strong> array as
  keys.

<comment>Param:</comment>
  <info>array</info>  <strong>$keys </strong>  Array of values that will be used as keys. Illegal values for key will be converted
                 to <info>string</info>.
  <info>mixed</info>  <strong>$value</strong>  Value to use for filling

<comment>Return:</comment>
  <info>array</info>  Returns the filled array

<comment>See Also:</comment>
   * <strong>array_fill()</strong>
   * <strong>array_combine()</strong>


id: array_filter
type: function
doc:
<comment>Description:</comment>
  Filtrează elementele unui tablou utilizând o funcție de apel invers
  
  Iterează prin fiecare valoare în tabloul <strong>$array</strong> transmițând-o funcției <strong>$callback</strong>. Dacă funcția
  <strong>$callback</strong> întoarce <info>true</info>, valoarea curentă din <strong>$array</strong> este întoarsă în <info>array</info> rezultant.
  
  Cheile tabloului sunt păstrate și pot apărea lacune dacă <strong>$array</strong> a fost indexat. Rezultatul <info>array</info>
  poate fi reindexat utilizând funcția <strong>array_values()</strong>.

<comment>Param:</comment>
  <info>array   </info>  <strong>$array   </strong>  Tabloul în care se iterează
  <info>callable</info>  <strong>$callback</strong>  Funcția de apel invers utilizată
                       
                       Dacă nu este furnizată nici o funcție <strong>$callback</strong>, toate înregistrările vide
                       din <strong>$array</strong> vor fi eliminate. A se vedea funcția <strong>empty()</strong> pentru a afla modul
                       cum PHP definește conținutul vid în acest caz.
  <info>int     </info>  <strong>$flag    </strong>  Fanionul ce determină ce argumente sunt transmise către <strong>$callback</strong>:
                       <info>ARRAY_FILTER_USE_KEY</info> - transmite cheia ca unic argument pentru <strong>$callback</strong> în
                       loc de valoare<info>ARRAY_FILTER_USE_BOTH</info> - transmite ambele - valoarea și cheia -
                       ca argumente pentru <strong>$callback</strong>, și nu doar valoarea Valoarea implicită este <return>0</return>
                       ceea ce va face ca valoarea să fie transmisă ca unic argument către
                       <strong>$callback</strong>.
                       
                       <info>ARRAY_FILTER_USE_KEY</info> - transmite cheia ca unic argument pentru <strong>$callback</strong> în
                       loc de valoare
                       
                       <info>ARRAY_FILTER_USE_BOTH</info> - transmite ambele - valoarea și cheia - ca argumente
                       pentru <strong>$callback</strong>, și nu doar valoarea

<comment>Return:</comment>
  <info>array</info>  Întoarce tabloul filtrat.

<comment>See Also:</comment>
   * <strong>array_map()</strong>
   * <strong>array_reduce()</strong>
   * <strong>array_walk()</strong>


id: array_flip
type: function
doc:
<comment>Description:</comment>
  Exchanges all keys with their associated values in an array
  
  <strong>array_flip()</strong> returns an <info>array</info> in flip order, i.e. keys from <strong>$array</strong> become values and values from
  <strong>$array</strong> become keys.
  
  Note that the values of <strong>$array</strong> need to be valid keys, i.e. they need to be either <info>int</info> or <info>string</info>. A
  warning will be emitted if a value has the wrong type, and the key/value pair in question will not
  be included in the result.
  
  If a value has several occurrences, the latest key will be used as its value, and all others will
  be lost.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  An array of key/value pairs to be flipped.

<comment>Return:</comment>
  <info>array</info>  Returns the flipped array on success and <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>array_values()</strong>
   * <strong>array_keys()</strong>
   * <strong>array_reverse()</strong>


id: array_intersect
type: function
doc:
<comment>Description:</comment>
  Computes the intersection of arrays
  
  <strong>array_intersect()</strong> returns an array containing all the values of <strong>$array</strong> that are present in all the
  arguments. Note that keys are preserved.

<comment>Param:</comment>
  <info>array</info>  <strong>$array </strong>  The array with master values to check.
  <info>array</info>  <strong>$arrays</strong>  Arrays to compare values against.

<comment>Return:</comment>
  <info>array</info>  Returns an array containing all of the values in  <strong>$array</strong> whose values exist in all of the
         parameters.

<comment>See Also:</comment>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_diff()</strong>
   * <strong>array_diff_assoc()</strong>


id: array_intersect_assoc
type: function
doc:
<comment>Description:</comment>
  Computes the intersection of arrays with additional index check
  
  <strong>array_intersect_assoc()</strong> returns an array containing all the values of <strong>$array</strong> that are present in
  all the arguments. Note that the keys are also used in the comparison unlike in <strong>array_intersect()</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$array </strong>  The array with master values to check.
  <info>array</info>  <strong>$arrays</strong>  Arrays to compare values against.

<comment>Return:</comment>
  <info>array</info>  Returns an associative array containing all the values in  <strong>$array</strong> that are present in all
         of the arguments.

<comment>See Also:</comment>
   * <strong>array_intersect()</strong>
   * <strong>array_uintersect_assoc()</strong>
   * <strong>array_intersect_uassoc()</strong>
   * <strong>array_uintersect_uassoc()</strong>
   * <strong>array_diff()</strong>
   * <strong>array_diff_assoc()</strong>


id: array_intersect_key
type: function
doc:
<comment>Description:</comment>
  Computes the intersection of arrays using keys for comparison
  
  <strong>array_intersect_key()</strong> returns an array containing all the entries of <strong>$array</strong> which have keys that
  are present in all the arguments.

<comment>Param:</comment>
  <info>array</info>  <strong>$array </strong>  The array with master keys to check.
  <info>array</info>  <strong>$arrays</strong>  Arrays to compare keys against.

<comment>Return:</comment>
  <info>array</info>  Returns an associative array containing all the entries of  <strong>$array</strong> which have keys that are
         present in all arguments.

<comment>See Also:</comment>
   * <strong>array_diff()</strong>
   * <strong>array_udiff()</strong>
   * <strong>array_diff_assoc()</strong>
   * <strong>array_diff_uassoc()</strong>
   * <strong>array_udiff_assoc()</strong>
   * <strong>array_udiff_uassoc()</strong>
   * <strong>array_diff_key()</strong>
   * <strong>array_diff_ukey()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_intersect_uassoc()</strong>
   * <strong>array_intersect_ukey()</strong>


id: array_intersect_uassoc
type: function
doc:
<comment>Description:</comment>
  Computes the intersection of arrays with additional index check, compares indexes by a callback
  function
  
  <strong>array_intersect_uassoc()</strong> returns an array containing all the values of <strong>$array</strong> that are present in
  all the arguments. Note that the keys are used in the comparison unlike in <strong>array_intersect()</strong>.

<comment>Param:</comment>
  <info>array   </info>  <strong>$array           </strong>  Initial array for comparison of the arrays.
  <info>array   </info>  <strong>$arrays          </strong>  Arrays to compare keys against.
  <info>callable</info>  <strong>$key_compare_func</strong>  Funcția de comparare trebuie să întoarcă un întreg
                               mai mic, egal cu sau mai mare decât zero dacă primul argument este
                               considerat
                               respectiv mai mic, egal cu sau mai mare decât al doilea argument.
                               Notă: înainte
                               de PHP 7.0.0 acest întreg trebuia să fie cuprins în domeniul de la
                               -2147483648
                               până la 2147483647.

<comment>Return:</comment>
  <info>array</info>  Returns the values of <strong>$array</strong> whose values exist in all of the arguments.

<comment>See Also:</comment>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_uintersect_assoc()</strong>
   * <strong>array_uintersect_uassoc()</strong>
   * <strong>array_intersect_key()</strong>
   * <strong>array_intersect_ukey()</strong>


id: array_intersect_ukey
type: function
doc:
<comment>Description:</comment>
  Computes the intersection of arrays using a callback function on the keys for comparison
  
  <strong>array_intersect_ukey()</strong> returns an array containing all the values of <strong>$array</strong> which have matching
  keys that are present in all the arguments.

<comment>Param:</comment>
  <info>array   </info>  <strong>$array           </strong>  Initial array for comparison of the arrays.
  <info>array   </info>  <strong>$arrays          </strong>  Arrays to compare keys against.
  <info>callable</info>  <strong>$key_compare_func</strong>  Funcția de comparare trebuie să întoarcă un întreg
                               mai mic, egal cu sau mai mare decât zero dacă primul argument este
                               considerat
                               respectiv mai mic, egal cu sau mai mare decât al doilea argument.
                               Notă: înainte
                               de PHP 7.0.0 acest întreg trebuia să fie cuprins în domeniul de la
                               -2147483648
                               până la 2147483647.

<comment>Return:</comment>
  <info>array</info>  Returns the values of <strong>$array</strong> whose keys exist in all the arguments.

<comment>See Also:</comment>
   * <strong>array_diff()</strong>
   * <strong>array_udiff()</strong>
   * <strong>array_diff_assoc()</strong>
   * <strong>array_diff_uassoc()</strong>
   * <strong>array_udiff_assoc()</strong>
   * <strong>array_udiff_uassoc()</strong>
   * <strong>array_diff_key()</strong>
   * <strong>array_diff_ukey()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_intersect_uassoc()</strong>
   * <strong>array_intersect_key()</strong>


id: array_key_exists
type: function
doc:
<comment>Description:</comment>
  Checks if the given key or index exists in the array
  
  <strong>array_key_exists()</strong> returns <info>true</info> if the given <strong>$key</strong> is set in the array. <strong>$key</strong> can be any value
  possible for an array index.

<comment>Param:</comment>
  <info>stringint</info>  <strong>$key  </strong>  Value to check.
  <info>array    </info>  <strong>$array</strong>  An array with keys to check.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.
        
        <strong>array_key_exists()</strong> will search for the keys in the first dimension only. Nested keys in
        multidimensional arrays will not be found.

<comment>See Also:</comment>
   * <strong>isset()</strong>
   * <strong>array_keys()</strong>
   * <strong>in_array()</strong>
   * <strong>property_exists()</strong>


id: array_key_first
type: function
doc:
<comment>Description:</comment>
  Gets the first key of an array
  
  Get the first key of the given <strong>$array</strong> without affecting the internal array pointer.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  An array.

<comment>Return:</comment>
  <info>intstringnull</info>  Returns the first key of <strong>$array</strong> if the array is not empty; <info>null</info> otherwise.

<comment>See Also:</comment>
   * <strong>array_key_last()</strong>
   * <strong>reset()</strong>


id: array_key_last
type: function
doc:
<comment>Description:</comment>
  Gets the last key of an array
  
  Get the last key of the given <strong>$array</strong> without affecting the internal array pointer.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  An array.

<comment>Return:</comment>
  <info>intstringnull</info>  Returns the last key of <strong>$array</strong> if the array is not empty; <info>null</info> otherwise.

<comment>See Also:</comment>
   * <strong>array_key_first()</strong>
   * <strong>end()</strong>


id: array_keys
type: function
doc:
<comment>Description:</comment>
  Return all the keys or a subset of the keys of an array
  
  <strong>array_keys()</strong> returns the keys, numeric and string, from the <strong>$array</strong>.
  
  If a <strong>$search_value</strong> is specified, then only the keys for that value are returned. Otherwise, all
  the keys from the <strong>$array</strong> are returned.

<comment>Param:</comment>
  <info>array</info>  <strong>$array       </strong>  An array containing keys to return.
  <info>mixed</info>  <strong>$search_value</strong>  If specified, then only keys containing these values are returned.
  <info>bool </info>  <strong>$strict      </strong>  Determines if strict comparison (===) should be used during the search.

<comment>Return:</comment>
  <info>array</info>  Returns an array of all the keys in <strong>$array</strong>.

<comment>See Also:</comment>
   * <strong>array_values()</strong>
   * <strong>array_combine()</strong>
   * <strong>array_key_exists()</strong>
   * <strong>array_search()</strong>


id: array_map
type: function
doc:
<comment>Description:</comment>
  Applies the callback to the elements of the given arrays
  
  <strong>array_map()</strong> returns an <info>array</info> containing the results of applying the <strong>$callback</strong> to the corresponding
  index of <strong>$array</strong> (and <strong>$arrays</strong> if more arrays are provided) used as arguments for the callback. The
  number of parameters that the <strong>$callback</strong> function accepts should match the number of arrays passed
  to <strong>array_map()</strong>.

<comment>Param:</comment>
  <info>callablenull</info>  <strong>$callback</strong>  A <info>callable</info> to run for each element in each array.
                           
                           <info>null</info> can be passed as a value to <strong>$callback</strong> to perform a zip operation on
                           multiple arrays. If only <strong>$array</strong> is provided, array_map will return the
                           input array.
  <info>array       </info>  <strong>$array   </strong>  An array to run through the <strong>$callback</strong> function.
  <info>array       </info>  <strong>$arrays  </strong>  Supplementary variable list of array arguments to run through the
                           <strong>$callback</strong> function.

<comment>Return:</comment>
  <info>array</info>  Returns an array containing the results of applying the <strong>$callback</strong> function to the
         corresponding index of <strong>$array</strong> (and <strong>$arrays</strong> if more arrays are provided) used as arguments
         for the callback.
         
         The returned array will preserve the keys of the array argument if and only if exactly one
         array is passed. If more than one array is passed, the returned array will have sequential
         integer keys.

<comment>See Also:</comment>
   * <strong>array_filter()</strong>
   * <strong>array_reduce()</strong>
   * <strong>array_walk()</strong>


id: array_merge
type: function
doc:
<comment>Description:</comment>
  Merge one or more arrays
  
  Merges the elements of one or more arrays together so that the values of one are appended to the
  end of the previous one. It returns the resulting array.
  
  If the input arrays have the same string keys, then the later value for that key will overwrite
  the previous one.  If, however, the arrays contain numeric keys, the later value will not
  overwrite the original value, but will be appended.
  
  Values in the input arrays with numeric keys will be renumbered with incrementing keys starting
  from zero in the result array.

<comment>Param:</comment>
  <info>array</info>  <strong>$arrays</strong>  Variable list of arrays to merge.

<comment>Return:</comment>
  <info>array</info>  Returns the resulting array. If called without any arguments, returns an empty <info>array</info>.

<comment>See Also:</comment>
   * <strong>array_merge_recursive()</strong>
   * <strong>array_replace()</strong>
   * <strong>array_combine()</strong>
   * array operators


id: array_merge_recursive
type: function
doc:
<comment>Description:</comment>
  Merge one or more arrays recursively
  
  <strong>array_merge_recursive()</strong> merges the elements of one or more arrays together so that the values of
  one are appended to the end of the previous one.  It returns the resulting array.
  
  If the input arrays have the same string keys, then the values for these keys are merged together
  into an array, and this is done recursively, so that if one of the values is an array itself, the
  function will merge it with a corresponding entry in another array too. If, however, the arrays
  have the same numeric key, the later value will not overwrite the original value, but will be
  appended.

<comment>Param:</comment>
  <info>array</info>  <strong>$arrays</strong>  Variable list of arrays to recursively merge.

<comment>Return:</comment>
  <info>array</info>  An array of values resulted from merging the arguments together. If called without any
         arguments, returns an empty <info>array</info>.

<comment>See Also:</comment>
   * <strong>array_merge()</strong>
   * <strong>array_replace_recursive()</strong>


id: array_multisort
type: function
doc:
<comment>Description:</comment>
  Sort multiple or multi-dimensional arrays
  
  <strong>array_multisort()</strong> can be used to sort several arrays at once, or a multi-dimensional array by one
  or more dimensions.
  
  Associative (<info>string</info>) keys will be maintained, but numeric keys will be re-indexed.
  
  Dacă în rezultatul comparației doi membri sunt egali, ordinea lor relativă în tabloul sortat nu
  este definită.

<comment>Param:</comment>
  <info>array</info>  <strong>$array1           </strong>  An <info>array</info> being sorted.
  <info>mixed</info>  <strong>$array1_sort_order</strong>  The order used to sort the previous <info>array</info> argument. Either <info>SORT_ASC</info> to
                             sort ascendingly or <info>SORT_DESC</info> to sort descendingly.
                             
                             This argument can be swapped with <strong>$array1_sort_flags</strong> or omitted
                             entirely, in which case <info>SORT_ASC</info> is assumed.
  <info>mixed</info>  <strong>$array1_sort_flags</strong>  Sort options for the previous <info>array</info> argument:
                             
                             Sorting type flags: <info>SORT_REGULAR</info> - compare items normally (don't change
                             types)<info>SORT_NUMERIC</info> - compare items numerically<info>SORT_STRING</info> - compare
                             items as strings<info>SORT_LOCALE_STRING</info> - compare items as strings, based on
                             the current locale. It uses the locale, which can be changed using
                             <strong>setlocale()</strong> <info>SORT_NATURAL</info> - compare items as strings using "natural
                             ordering" like <strong>natsort()</strong> <info>SORT_FLAG_CASE</info> - can be combined (bitwise OR)
                             with <info>SORT_STRING</info> or <info>SORT_NATURAL</info> to sort strings case-insensitively
                             
                             <info>SORT_REGULAR</info> - compare items normally (don't change types)
                             
                             <info>SORT_NUMERIC</info> - compare items numerically
                             
                             <info>SORT_STRING</info> - compare items as strings
                             
                             <info>SORT_LOCALE_STRING</info> - compare items as strings, based on the current
                             locale. It uses the locale, which can be changed using <strong>setlocale()</strong>
                             
                             <info>SORT_NATURAL</info> - compare items as strings using "natural ordering" like
                             <strong>natsort()</strong>
                             
                             <info>SORT_FLAG_CASE</info> - can be combined (bitwise OR) with <info>SORT_STRING</info> or
                             <info>SORT_NATURAL</info> to sort strings case-insensitively
                             
                             This argument can be swapped with <strong>$array1_sort_order</strong> or omitted
                             entirely, in which case <info>SORT_REGULAR</info> is assumed.
  <info>mixed</info>  <strong>$rest             </strong>  More arrays, optionally followed by sort order and flags. Only elements
                             corresponding to equivalent elements in previous arrays are compared.
                             In other words, the sort is lexicographical.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>usort()</strong>
   * Comparația funcțiilor de sortare a tablourilor


id: array_pad
type: function
doc:
<comment>Description:</comment>
  Pad array to the specified length with a value
  
  <strong>array_pad()</strong> returns a copy of the <strong>$array</strong> padded to size specified by <strong>$length</strong> with value <strong>$value</strong>. If
  <strong>$length</strong> is positive then the array is padded on the right, if it's negative then on the left. If
  the absolute value of <strong>$length</strong> is less than or equal to the length of the <strong>$array</strong> then no padding
  takes place. It is possible to add at most 1048576 elements at a time.

<comment>Param:</comment>
  <info>array</info>  <strong>$array </strong>  Initial array of values to pad.
  <info>int  </info>  <strong>$length</strong>  New size of the array.
  <info>mixed</info>  <strong>$value </strong>  Value to pad if <strong>$array</strong> is less than <strong>$length</strong>.

<comment>Return:</comment>
  <info>array</info>  Returns a copy of the <strong>$array</strong> padded to size specified by <strong>$length</strong> with value  <strong>$value</strong>. If
         <strong>$length</strong> is  positive then the array is padded on the right, if it's negative then  on the
         left. If the absolute value of <strong>$length</strong> is less than or equal to the length of the <strong>$array</strong>
         then no padding takes place.

<comment>See Also:</comment>
   * <strong>array_fill()</strong>
   * <strong>range()</strong>


id: array_pop
type: function
doc:
<comment>Description:</comment>
  Pop the element off the end of array
  
  <strong>array_pop()</strong> pops and returns the value of the last element of <strong>$array</strong>, shortening the <strong>$array</strong> by one
  element.
  
  Această funcție va reseta (<strong>reset()</strong>) indicatorul
  tabloului (<info>array</info>) de intrare după utilizare.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  The array to get the value from.

<comment>Return:</comment>
  <info>mixed</info>  Returns the value of the last element of <strong>$array</strong>. If <strong>$array</strong> is empty (or is not an array),
         <info>null</info> will be returned.

<comment>See Also:</comment>
   * <strong>array_push()</strong>
   * <strong>array_shift()</strong>
   * <strong>array_unshift()</strong>


id: array_product
type: function
doc:
<comment>Description:</comment>
  Calculate the product of values in an array
  
  <strong>array_product()</strong> returns the product of values in an array.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  The array.

<comment>Return:</comment>
  <info>intfloat</info>  Returns the product as an integer or float.


id: array_push
type: function
doc:
<comment>Description:</comment>
  Push one or more elements onto the end of array
  
  <strong>array_push()</strong> treats <strong>$array</strong> as a stack, and pushes the passed variables onto the end of <strong>$array</strong>. The
  length of <strong>$array</strong> increases by the number of variables pushed. Has the same effect as:
  ]]> repeated for each passed value.
  
  If you use <strong>array_push()</strong> to add one element to the array, it's better to use <return>$array[] = </return> because in
  that way there is no overhead of calling a function.
  
  <strong>array_push()</strong> will raise a warning if the first argument is not an array. This differs from the
  <return>$var[]</return> behaviour where a new array is created.

<comment>Param:</comment>
  <info>array</info>  <strong>$array </strong>  The input array.
  <info>mixed</info>  <strong>$values</strong>  The values to push onto the end of the <strong>$array</strong>.

<comment>Return:</comment>
  <info>int</info>  Returns the new number of elements in the array.

<comment>See Also:</comment>
   * <strong>array_pop()</strong>
   * <strong>array_shift()</strong>
   * <strong>array_unshift()</strong>


id: array_rand
type: function
doc:
<comment>Description:</comment>
  Pick one or more random keys out of an array
  
  Picks one or more random entries out of an array, and returns the key (or keys) of the random
  entries. It uses a pseudo random number generator that is not suitable for cryptographic purposes.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  The input array.
  <info>int  </info>  <strong>$num  </strong>  Specifies how many entries should be picked.

<comment>Return:</comment>
  <info>intstringarray</info>  When picking only one entry, <strong>array_rand()</strong> returns the key for a random entry.
                  Otherwise, an array of keys for the random entries is returned. This is done so
                  that random keys can be picked from the array as well as random values. If
                  multiple keys are returned, they will be returned in the order they were present
                  in the original array. Trying to pick more elements than there are in the array
                  will result in an <info>E_WARNING</info> level error, and NULL will be returned.

<comment>See Also:</comment>
   * <strong>shuffle()</strong>


id: array_reduce
type: function
doc:
<comment>Description:</comment>
  Iteratively reduce the array to a single value using a callback function
  
  <strong>array_reduce()</strong> applies iteratively the <strong>$callback</strong> function to the elements of the <strong>$array</strong>, so as to
  reduce the array to a single value.

<comment>Param:</comment>
  <info>array   </info>  <strong>$array   </strong>  The input array.
  <info>callable</info>  <strong>$callback</strong>  Holds the return value of the previous iteration; in the case of the first
                       iteration it instead holds the value of  <strong>$initial</strong>.
                       
                       Holds the value of the current iteration.
  <info>mixed   </info>  <strong>$carry   </strong>  Holds the return value of the previous iteration; in the case of the first
                       iteration it instead holds the value of  <strong>$initial</strong>.
  <info>mixed   </info>  <strong>$item    </strong>  Holds the value of the current iteration.
  <info>mixed   </info>  <strong>$initial </strong>  If the optional <strong>$initial</strong> is available, it will be used at the beginning of
                       the process, or as a final result in case the array is empty.

<comment>Return:</comment>
  <info>mixed</info>  Returns the resulting value.
         
         If the array is empty and <strong>$initial</strong> is not passed, <strong>array_reduce()</strong> returns <info>null</info>.

<comment>See Also:</comment>
   * <strong>array_filter()</strong>
   * <strong>array_map()</strong>
   * <strong>array_unique()</strong>
   * <strong>array_count_values()</strong>


id: array_replace
type: function
doc:
<comment>Description:</comment>
  Replaces elements from passed arrays into the first array
  
  <strong>array_replace()</strong> replaces the values of <strong>$array</strong> with values having the same keys in each of the
  following arrays. If a key from the first array exists in the second array, its value will be
  replaced by the value from the second array. If the key exists in the second array, and not the
  first, it will be created in the first array. If a key only exists in the first array, it will be
  left as is. If several arrays are passed for replacement, they will be processed in order, the
  later arrays overwriting the previous values.
  
  <strong>array_replace()</strong> is not recursive : it will replace values in the first array by whatever type is
  in the second array.

<comment>Param:</comment>
  <info>array</info>  <strong>$array       </strong>  The array in which elements are replaced.
  <info>array</info>  <strong>$replacements</strong>  Arrays from which elements will be extracted. Values from later arrays
                        overwrite the previous values.

<comment>Return:</comment>
  <info>array</info>  Returns an <info>array</info>, or <info>null</info> if an error occurs.

<comment>See Also:</comment>
   * <strong>array_replace_recursive()</strong>
   * <strong>array_merge()</strong>


id: array_replace_recursive
type: function
doc:
<comment>Description:</comment>
  Replaces elements from passed arrays into the first array recursively
  
  <strong>array_replace_recursive()</strong> replaces the values of <strong>$array</strong> with the same values from all the
  following arrays. If a key from the first array exists in the second array, its value will be
  replaced by the value from the second array. If the key exists in the second array, and not the
  first, it will be created in the first array. If a key only exists in the first array, it will be
  left as is.  If several arrays are passed for replacement, they will be processed in order, the
  later array overwriting the previous values.
  
  <strong>array_replace_recursive()</strong> is recursive : it will recurse into arrays and apply the same process to
  the inner value.
  
  When the value in the first array is scalar, it will be replaced by the value in the second array,
  may it be scalar or array. When the value in the first array and the second array are both arrays,
  <strong>array_replace_recursive()</strong> will replace their respective value recursively.

<comment>Param:</comment>
  <info>array</info>  <strong>$array       </strong>  The array in which elements are replaced.
  <info>array</info>  <strong>$replacements</strong>  Arrays from which elements will be extracted.

<comment>Return:</comment>
  <info>array</info>  Returns an <info>array</info>, or <info>null</info> if an error occurs.

<comment>See Also:</comment>
   * <strong>array_replace()</strong>
   * <strong>array_merge_recursive()</strong>


id: array_reverse
type: function
doc:
<comment>Description:</comment>
  Return an array with elements in reverse order
  
  Takes an input <strong>$array</strong> and returns a new array with the order of the elements reversed.

<comment>Param:</comment>
  <info>array</info>  <strong>$array        </strong>  The input array.
  <info>bool </info>  <strong>$preserve_keys</strong>  If set to <info>true</info> numeric keys are preserved.  Non-numeric keys are not
                         affected by this setting and will always be preserved.

<comment>Return:</comment>
  <info>array</info>  Returns the reversed array.

<comment>See Also:</comment>
   * <strong>array_flip()</strong>


id: array_search
type: function
doc:
<comment>Description:</comment>
  Searches the array for a given value and returns the first corresponding key if successful
  
  Searches for <strong>$needle</strong> in <strong>$haystack</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$needle  </strong>  The searched value.
                    
                    If <strong>$needle</strong> is a string, the comparison is done in a case-sensitive manner.
  <info>array</info>  <strong>$haystack</strong>  The array.
  <info>bool </info>  <strong>$strict  </strong>  If the third parameter <strong>$strict</strong> is set to <info>true</info> then the <strong>array_search()</strong> function
                    will search for identical elements in the <strong>$haystack</strong>. This means it will also
                    perform a strict type comparison of the <strong>$needle</strong> in the <strong>$haystack</strong>, and objects
                    must be the same instance.

<comment>Return:</comment>
  <info>intstringfalse</info>  Returns the key for <strong>$needle</strong> if it is found in the array, <info>false</info> otherwise.
                  
                  If <strong>$needle</strong> is found in <strong>$haystack</strong> more than once, the first matching key is
                  returned. To return the keys for all matching values, use <strong>array_keys()</strong> with the
                  optional <strong>$search_value</strong> parameter instead.
                  
                  Această funcție poate întoarce valoarea Boolean <info>false</info>, dar poate de
                  asemenea întoarce o valoare non-Boolean care evaluează în <info>false</info>. Vă rugăm să
                  citiți secțiunea despre tipul Boolean
                  pentru informații suplimentare. Utilizați
                  operatorul === pentru a
                  verifica valoarea întoarsă de această funcție.

<comment>See Also:</comment>
   * <strong>array_keys()</strong>
   * <strong>array_values()</strong>
   * <strong>array_key_exists()</strong>
   * <strong>in_array()</strong>


id: array_shift
type: function
doc:
<comment>Description:</comment>
  Shift an element off the beginning of array
  
  <strong>array_shift()</strong> shifts the first value of the <strong>$array</strong> off and returns it, shortening the <strong>$array</strong> by
  one element and moving everything down. All numerical array keys will be modified to start
  counting from zero while literal keys won't be affected.
  
  Această funcție va reseta (<strong>reset()</strong>) indicatorul
  tabloului (<info>array</info>) de intrare după utilizare.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  The input array.

<comment>Return:</comment>
  <info>mixed</info>  Returns the shifted value, or <info>null</info> if <strong>$array</strong> is empty or is not an array.

<comment>See Also:</comment>
   * <strong>array_unshift()</strong>
   * <strong>array_push()</strong>
   * <strong>array_pop()</strong>


id: array_slice
type: function
doc:
<comment>Description:</comment>
  Extract a slice of the array
  
  <strong>array_slice()</strong> returns the sequence of elements from the array <strong>$array</strong> as specified by the <strong>$offset</strong>
  and <strong>$length</strong> parameters.

<comment>Param:</comment>
  <info>array  </info>  <strong>$array        </strong>  The input array.
  <info>int    </info>  <strong>$offset       </strong>  If <strong>$offset</strong> is non-negative, the sequence will start at that offset in the
                           <strong>$array</strong>.
                           
                           If <strong>$offset</strong> is negative, the sequence will start that far from the end of
                           the <strong>$array</strong>.
                           
                           The <strong>$offset</strong> parameter denotes the position in the array, not the key.
  <info>intnull</info>  <strong>$length       </strong>  If <strong>$length</strong> is given and is positive, then the sequence will have up to
                           that many elements in it.
                           
                           If the array is shorter than the <strong>$length</strong>, then only the available array
                           elements will be present.
                           
                           If <strong>$length</strong> is given and is negative then the sequence will stop that many
                           elements from the end of the array.
                           
                           If it is omitted, then the sequence will have everything from <strong>$offset</strong> up
                           until the end of the <strong>$array</strong>.
  <info>bool   </info>  <strong>$preserve_keys</strong>  <strong>array_slice()</strong> will reorder and reset the integer array indices by
                           default. This behaviour can be changed by setting <strong>$preserve_keys</strong> to <info>true</info>.
                           String keys are always preserved, regardless of this parameter.

<comment>Return:</comment>
  <info>array</info>  Returns the slice. If the offset is larger than the size of the array, an empty array is
         returned.

<comment>See Also:</comment>
   * <strong>array_chunk()</strong>
   * <strong>array_splice()</strong>
   * <strong>unset()</strong>


id: array_splice
type: function
doc:
<comment>Description:</comment>
  Remove a portion of the array and replace it with something else
  
  Removes the elements designated by <strong>$offset</strong> and <strong>$length</strong> from the <strong>$array</strong> array, and replaces them
  with the elements of the <strong>$replacement</strong> array, if supplied.
  
  Numerical keys in <strong>$array</strong> are not preserved.
  
  If <strong>$replacement</strong> is not an array, it will be typecast to one (i.e. (array) $replacement). This may
  result in unexpected behavior when using an object or <info>null</info> <strong>$replacement</strong>.

<comment>Param:</comment>
  <info>array  </info>  <strong>$array      </strong>  The input array.
  <info>int    </info>  <strong>$offset     </strong>  If <strong>$offset</strong> is positive then the start of the removed portion is at that
                         offset from the beginning of the <strong>$array</strong> array.
                         
                         If <strong>$offset</strong> is negative then the start of the removed portion is at that
                         offset from the end of the <strong>$array</strong> array.
  <info>intnull</info>  <strong>$length     </strong>  If <strong>$length</strong> is omitted, removes everything from <strong>$offset</strong> to the end of the
                         array.
                         
                         If <strong>$length</strong> is specified and is positive, then that many elements will be
                         removed.
                         
                         If <strong>$length</strong> is specified and is negative, then the end of the removed
                         portion will be that many elements from the end of the array.
                         
                         If <strong>$length</strong> is specified and is zero, no elements will be removed.
                         
                         To remove everything from <strong>$offset</strong> to the end of the array when <strong>$replacement</strong>
                         is also specified, use count($input) for <strong>$length</strong>.
  <info>mixed  </info>  <strong>$replacement</strong>  If <strong>$replacement</strong> array is specified, then the removed elements are replaced
                         with elements from this array.
                         
                         If <strong>$offset</strong> and <strong>$length</strong> are such that nothing is removed, then the elements
                         from the <strong>$replacement</strong> array are inserted in the place specified by the
                         <strong>$offset</strong>.
                         
                         Keys in the <strong>$replacement</strong> array are not preserved.
                         
                         If <strong>$replacement</strong> is just one element it is not necessary to put <return>array()</return> or
                         square brackets around it, unless the element is an array itself, an object
                         or <info>null</info>.

<comment>Return:</comment>
  <info>array</info>  Returns an array consisting of the extracted elements.

<comment>See Also:</comment>
   * <strong>array_merge()</strong>
   * <strong>array_slice()</strong>
   * <strong>unset()</strong>


id: array_sum
type: function
doc:
<comment>Description:</comment>
  Calculate the sum of values in an array
  
  <strong>array_sum()</strong> returns the sum of values in an array.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  The input array.

<comment>Return:</comment>
  <info>intfloat</info>  Returns the sum of values as an integer or float; <return>0</return> if the <strong>$array</strong> is empty.


id: array_udiff
type: function
doc:
<comment>Description:</comment>
  Computes the difference of arrays by using a callback function for data comparison
  
  Computes the difference of arrays by using a callback function for data comparison. This is unlike
  <strong>array_diff()</strong> which uses an internal function for comparing the data.

<comment>Param:</comment>
  <info>array   </info>  <strong>$array             </strong>  The first array.
  <info>array   </info>  <strong>$arrays            </strong>  Arrays to compare against.
  <info>callable</info>  <strong>$value_compare_func</strong>  The callback comparison function.
                                 
                                 Funcția de comparare trebuie să întoarcă un întreg
                                 mai mic, egal cu sau mai mare decât zero dacă primul argument este
                                 considerat
                                 respectiv mai mic, egal cu sau mai mare decât al doilea argument.
                                 Notă: înainte
                                 de PHP 7.0.0 acest întreg trebuia să fie cuprins în domeniul de la
                                 -2147483648
                                 până la 2147483647.

<comment>Return:</comment>
  <info>array</info>  Returns an array containing all the values of <strong>$array</strong> that are not present in any of the
         other arguments.

<comment>See Also:</comment>
   * <strong>array_diff()</strong>
   * <strong>array_diff_assoc()</strong>
   * <strong>array_diff_uassoc()</strong>
   * <strong>array_udiff_assoc()</strong>
   * <strong>array_udiff_uassoc()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_uintersect()</strong>
   * <strong>array_uintersect_assoc()</strong>
   * <strong>array_uintersect_uassoc()</strong>


id: array_udiff_assoc
type: function
doc:
<comment>Description:</comment>
  Computes the difference of arrays with additional index check, compares data by a callback
  function
  
  Computes the difference of arrays with additional index check, compares data by a callback
  function.
  
  Please note that this function only checks one dimension of a n-dimensional array. Of course you
  can check deeper dimensions by using, for example, <return>array_udiff_assoc($array1[0], $array2[0],
  "some_comparison_func");</return>.

<comment>Param:</comment>
  <info>array   </info>  <strong>$array             </strong>  The first array.
  <info>array   </info>  <strong>$arrays            </strong>  Arrays to compare against.
  <info>callable</info>  <strong>$value_compare_func</strong>  Funcția de comparare trebuie să întoarcă un întreg
                                 mai mic, egal cu sau mai mare decât zero dacă primul argument este
                                 considerat
                                 respectiv mai mic, egal cu sau mai mare decât al doilea argument.
                                 Notă: înainte
                                 de PHP 7.0.0 acest întreg trebuia să fie cuprins în domeniul de la
                                 -2147483648
                                 până la 2147483647.

<comment>Return:</comment>
  <info>array</info>  <strong>array_udiff_assoc()</strong> returns an <info>array</info> containing all the values from <strong>$array</strong> that are not
         present in any of the other arguments. Note that the keys are used in the comparison unlike
         <strong>array_diff()</strong> and <strong>array_udiff()</strong>. The comparison of arrays' data is performed by using an
         user-supplied callback. In this aspect the behaviour is opposite to the behaviour of
         <strong>array_diff_assoc()</strong> which uses internal function for comparison.

<comment>See Also:</comment>
   * <strong>array_diff()</strong>
   * <strong>array_diff_assoc()</strong>
   * <strong>array_diff_uassoc()</strong>
   * <strong>array_udiff()</strong>
   * <strong>array_udiff_uassoc()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_uintersect()</strong>
   * <strong>array_uintersect_assoc()</strong>
   * <strong>array_uintersect_uassoc()</strong>


id: array_udiff_uassoc
type: function
doc:
<comment>Description:</comment>
  Computes the difference of arrays with additional index check, compares data and indexes by a
  callback function
  
  Computes the difference of arrays with additional index check, compares data and indexes by a
  callback function.
  
  Note that the keys are used in the comparison unlike <strong>array_diff()</strong> and <strong>array_udiff()</strong>.

<comment>Param:</comment>
  <info>array   </info>  <strong>$array             </strong>  The first array.
  <info>array   </info>  <strong>$arrays            </strong>  Arrays to compare against.
  <info>callable</info>  <strong>$value_compare_func</strong>  Funcția de comparare trebuie să întoarcă un întreg
                                 mai mic, egal cu sau mai mare decât zero dacă primul argument este
                                 considerat
                                 respectiv mai mic, egal cu sau mai mare decât al doilea argument.
                                 Notă: înainte
                                 de PHP 7.0.0 acest întreg trebuia să fie cuprins în domeniul de la
                                 -2147483648
                                 până la 2147483647.
  <info>callable</info>  <strong>$key_compare_func  </strong>  The comparison of keys (indices) is done also by the callback
                                 function <strong>$key_compare_func</strong>. This behaviour is unlike what
                                 <strong>array_udiff_assoc()</strong> does, since the latter compares the indices by
                                 using an internal function.

<comment>Return:</comment>
  <info>array</info>  Returns an <info>array</info> containing all the values from <strong>$array</strong> that are not present in any of the
         other arguments.

<comment>See Also:</comment>
   * <strong>array_diff()</strong>
   * <strong>array_diff_assoc()</strong>
   * <strong>array_udiff()</strong>
   * <strong>array_udiff_assoc()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_uintersect()</strong>
   * <strong>array_uintersect_assoc()</strong>
   * <strong>array_uintersect_uassoc()</strong>


id: array_uintersect
type: function
doc:
<comment>Description:</comment>
  Computes the intersection of arrays, compares data by a callback function
  
  Computes the intersection of arrays, compares data by a callback function.

<comment>Param:</comment>
  <info>array   </info>  <strong>$array             </strong>  The first array.
  <info>array   </info>  <strong>$arrays            </strong>  Arrays to compare against.
  <info>callable</info>  <strong>$value_compare_func</strong>  Funcția de comparare trebuie să întoarcă un întreg
                                 mai mic, egal cu sau mai mare decât zero dacă primul argument este
                                 considerat
                                 respectiv mai mic, egal cu sau mai mare decât al doilea argument.
                                 Notă: înainte
                                 de PHP 7.0.0 acest întreg trebuia să fie cuprins în domeniul de la
                                 -2147483648
                                 până la 2147483647.

<comment>Return:</comment>
  <info>array</info>  Returns an array containing all the values of <strong>$array</strong> that are present in all the arguments.

<comment>See Also:</comment>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_uintersect_assoc()</strong>
   * <strong>array_uintersect_uassoc()</strong>


id: array_uintersect_assoc
type: function
doc:
<comment>Description:</comment>
  Computes the intersection of arrays with additional index check, compares data by a callback
  function
  
  Computes the intersection of arrays with additional index check, compares data by a callback
  function.
  
  Note that the keys are used in the comparison unlike in <strong>array_uintersect()</strong>. The data is compared
  by using a callback function.

<comment>Param:</comment>
  <info>array   </info>  <strong>$array             </strong>  The first array.
  <info>array   </info>  <strong>$arrays            </strong>  Arrays to compare against.
  <info>callable</info>  <strong>$value_compare_func</strong>  Funcția de comparare trebuie să întoarcă un întreg
                                 mai mic, egal cu sau mai mare decât zero dacă primul argument este
                                 considerat
                                 respectiv mai mic, egal cu sau mai mare decât al doilea argument.
                                 Notă: înainte
                                 de PHP 7.0.0 acest întreg trebuia să fie cuprins în domeniul de la
                                 -2147483648
                                 până la 2147483647.

<comment>Return:</comment>
  <info>array</info>  Returns an array containing all the values of <strong>$array</strong> that are present in all the arguments.

<comment>See Also:</comment>
   * <strong>array_uintersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_intersect_uassoc()</strong>
   * <strong>array_uintersect_uassoc()</strong>


id: array_uintersect_uassoc
type: function
doc:
<comment>Description:</comment>
  Computes the intersection of arrays with additional index check, compares data and indexes by
  separate callback functions
  
  Computes the intersection of arrays with additional index check, compares data and indexes by
  separate callback functions.

<comment>Param:</comment>
  <info>array   </info>  <strong>$array1            </strong>  The first array.
  <info>array   </info>  <strong>$arrays            </strong>  Further arrays.
  <info>callable</info>  <strong>$value_compare_func</strong>  Funcția de comparare trebuie să întoarcă un întreg
                                 mai mic, egal cu sau mai mare decât zero dacă primul argument este
                                 considerat
                                 respectiv mai mic, egal cu sau mai mare decât al doilea argument.
                                 Notă: înainte
                                 de PHP 7.0.0 acest întreg trebuia să fie cuprins în domeniul de la
                                 -2147483648
                                 până la 2147483647.
  <info>callable</info>  <strong>$key_compare_func  </strong>  Key comparison callback function.

<comment>Return:</comment>
  <info>array</info>  Returns an array containing all the values of <strong>$array1</strong> that are present in all the
         arguments.

<comment>See Also:</comment>
   * <strong>array_uintersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_intersect_uassoc()</strong>
   * <strong>array_uintersect_assoc()</strong>


id: array_unique
type: function
doc:
<comment>Description:</comment>
  Removes duplicate values from an array
  
  Takes an input <strong>$array</strong> and returns a new array without duplicate values.
  
  Note that keys are preserved. If multiple elements compare equal under the given <strong>$flags</strong>, then the
  key and value of the first equal element will be retained.
  
  Two elements are considered equal if and only if <return>(string) $elem1 === (string) $elem2</return> i.e.  when
  the string representation is the same, the first element will be used.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  The input array.
  <info>int  </info>  <strong>$flags</strong>  The optional second parameter <strong>$flags</strong> may be used to modify the sorting behavior
                 using these values:
                 
                 Sorting type flags: <info>SORT_REGULAR</info> - compare items normally (don't change
                 types)<info>SORT_NUMERIC</info> - compare items numerically<info>SORT_STRING</info> - compare items as
                 strings<info>SORT_LOCALE_STRING</info> - compare items as strings, based on the current locale.
                 
                 <info>SORT_REGULAR</info> - compare items normally (don't change types)
                 
                 <info>SORT_NUMERIC</info> - compare items numerically
                 
                 <info>SORT_STRING</info> - compare items as strings
                 
                 <info>SORT_LOCALE_STRING</info> - compare items as strings, based on the current locale.

<comment>Return:</comment>
  <info>array</info>  Returns the filtered array.

<comment>See Also:</comment>
   * <strong>array_count_values()</strong>


id: array_unshift
type: function
doc:
<comment>Description:</comment>
  Prepend one or more elements to the beginning of an array
  
  <strong>array_unshift()</strong> prepends passed elements to the front of the <strong>$array</strong>. Note that the list of
  elements is prepended as a whole, so that the prepended elements stay in the same order.  All
  numerical array keys will be modified to start counting from zero while literal keys won't be
  changed.

<comment>Param:</comment>
  <info>array</info>  <strong>$array </strong>  The input array.
  <info>mixed</info>  <strong>$values</strong>  The values to prepend.

<comment>Return:</comment>
  <info>int</info>  Returns the new number of elements in the <strong>$array</strong>.

<comment>See Also:</comment>
   * <strong>array_shift()</strong>
   * <strong>array_push()</strong>
   * <strong>array_pop()</strong>


id: array_values
type: function
doc:
<comment>Description:</comment>
  Return all the values of an array
  
  <strong>array_values()</strong> returns all the values from the <strong>$array</strong> and indexes the array numerically.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  The array.

<comment>Return:</comment>
  <info>array</info>  Returns an indexed array of values.

<comment>See Also:</comment>
   * <strong>array_keys()</strong>
   * <strong>array_combine()</strong>


id: array_walk
type: function
doc:
<comment>Description:</comment>
  Apply a user supplied function to every member of an array
  
  Applies the user-defined <strong>$callback</strong> function to each element of the <strong>$array</strong> array.
  
  <strong>array_walk()</strong> is not affected by the internal array pointer of <strong>$array</strong>.  <strong>array_walk()</strong> will walk
  through the entire array regardless of pointer position.

<comment>Param:</comment>
  <info>arrayobject</info>  <strong>$array   </strong>  The input array.
  <info>callable   </info>  <strong>$callback</strong>  Typically, <strong>$callback</strong> takes on two parameters. The <strong>$array</strong> parameter's value
                          being the first, and the key/index second.
                          
                          If <strong>$callback</strong> needs to be working with the actual values of the array,
                          specify the first parameter of <strong>$callback</strong> as a reference. Then, any changes
                          made to those elements will be made in the original array itself.
                          
                          Many internal functions (for example <strong>strtolower()</strong>) will throw a warning if
                          more than the expected number of argument are passed in and are not usable
                          directly as a <strong>$callback</strong>.
                          
                          Only the values of the <strong>$array</strong> may potentially be changed; its structure
                          cannot be altered, i.e., the programmer cannot add, unset or reorder
                          elements. If the callback does not respect this requirement, the behavior
                          of this function is undefined, and       unpredictable.
  <info>mixed      </info>  <strong>$userdata</strong>  If the optional <strong>$userdata</strong> parameter is supplied, it will be passed as the
                          third parameter to the <strong>$callback</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info>.

<comment>See Also:</comment>
   * <strong>array_walk_recursive()</strong>
   * <strong>iterator_apply()</strong>
   * <strong>list()</strong>
   * <strong>each()</strong>
   * <strong>call_user_func_array()</strong>
   * <strong>array_map()</strong>
   * foreach


id: array_walk_recursive
type: function
doc:
<comment>Description:</comment>
  Apply a user function recursively to every member of an array
  
  Applies the user-defined <strong>$callback</strong> function to each element of the <strong>$array</strong>. This function will
  recurse into deeper arrays.

<comment>Param:</comment>
  <info>arrayobject</info>  <strong>$array   </strong>  The input array.
  <info>callable   </info>  <strong>$callback</strong>  Typically, <strong>$callback</strong> takes on two parameters. The <strong>$array</strong> parameter's value
                          being the first, and the key/index second.
                          
                          If <strong>$callback</strong> needs to be working with the actual values of the array,
                          specify the first parameter of <strong>$callback</strong> as a reference. Then, any changes
                          made to those elements will be made in the original array itself.
  <info>mixed      </info>  <strong>$userdata</strong>  If the optional <strong>$userdata</strong> parameter is supplied, it will be passed as the
                          third parameter to the <strong>$callback</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>array_walk()</strong>


id: arsort
type: function
doc:
<comment>Description:</comment>
  Sort an array in reverse order and maintain index association
  
  This function sorts an array such that array indices maintain their correlation with the array
  elements they are associated with.
  
  This is used mainly when sorting associative arrays where the actual element order is significant.
  
  Dacă în rezultatul comparației doi membri sunt egali, ordinea lor relativă în tabloul sortat nu
  este definită.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  The input array.
  <info>int  </info>  <strong>$flags</strong>  The optional second parameter <strong>$flags</strong> may be used to modify the sorting behavior
                 using these values:
                 
                 Sorting type flags: <info>SORT_REGULAR</info> - compare items normally; the details are
                 described in the comparison operators section<info>SORT_NUMERIC</info> - compare items
                 numerically<info>SORT_STRING</info> - compare items as strings<info>SORT_LOCALE_STRING</info> - compare items
                 as strings, based on the current locale. It uses the locale, which can be changed
                 using <strong>setlocale()</strong> <info>SORT_NATURAL</info> - compare items as strings using "natural ordering"
                 like <strong>natsort()</strong> <info>SORT_FLAG_CASE</info> - can be combined (bitwise OR) with <info>SORT_STRING</info> or
                 <info>SORT_NATURAL</info> to sort strings case-insensitively
                 
                 <info>SORT_REGULAR</info> - compare items normally; the details are described in the comparison
                 operators section
                 
                 <info>SORT_NUMERIC</info> - compare items numerically
                 
                 <info>SORT_STRING</info> - compare items as strings
                 
                 <info>SORT_LOCALE_STRING</info> - compare items as strings, based on the current locale. It uses
                 the locale, which can be changed using <strong>setlocale()</strong>
                 
                 <info>SORT_NATURAL</info> - compare items as strings using "natural ordering" like <strong>natsort()</strong>
                 
                 <info>SORT_FLAG_CASE</info> - can be combined (bitwise OR) with <info>SORT_STRING</info> or <info>SORT_NATURAL</info> to
                 sort strings case-insensitively

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>asort()</strong>
   * Comparația funcțiilor de sortare a tablourilor


id: asin
type: function
doc:
<comment>Description:</comment>
  Arc sine
  
  Returns the arc sine of <strong>$num</strong> in radians. <strong>asin()</strong> is the inverse function of <strong>sin()</strong>, which means that
  <return>a==sin(asin(a))</return> for every value of a that is within <strong>asin()</strong>'s range.

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  The argument to process

<comment>Return:</comment>
  <info>float</info>  The arc sine of <strong>$num</strong> in radians

<comment>See Also:</comment>
   * <strong>sin()</strong>
   * <strong>asinh()</strong>
   * <strong>acos()</strong>
   * <strong>atan()</strong>


id: asinh
type: function
doc:
<comment>Description:</comment>
  Inverse hyperbolic sine
  
  Returns the inverse hyperbolic sine of <strong>$num</strong>, i.e. the value whose hyperbolic sine is <strong>$num</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  The argument to process

<comment>Return:</comment>
  <info>float</info>  The inverse hyperbolic sine of <strong>$num</strong>

<comment>See Also:</comment>
   * <strong>sinh()</strong>
   * <strong>asin()</strong>
   * <strong>acosh()</strong>
   * <strong>atanh()</strong>


id: asort
type: function
doc:
<comment>Description:</comment>
  Sort an array and maintain index association
  
  This function sorts an array such that array indices maintain their correlation with the array
  elements they are associated with.  This is used mainly when sorting associative arrays where the
  actual element order is significant.
  
  Dacă în rezultatul comparației doi membri sunt egali, ordinea lor relativă în tabloul sortat nu
  este definită.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  The input array.
  <info>int  </info>  <strong>$flags</strong>  The optional second parameter <strong>$flags</strong> may be used to modify the sorting behavior
                 using these values:
                 
                 Sorting type flags: <info>SORT_REGULAR</info> - compare items normally; the details are
                 described in the comparison operators section<info>SORT_NUMERIC</info> - compare items
                 numerically<info>SORT_STRING</info> - compare items as strings<info>SORT_LOCALE_STRING</info> - compare items
                 as strings, based on the current locale. It uses the locale, which can be changed
                 using <strong>setlocale()</strong> <info>SORT_NATURAL</info> - compare items as strings using "natural ordering"
                 like <strong>natsort()</strong> <info>SORT_FLAG_CASE</info> - can be combined (bitwise OR) with <info>SORT_STRING</info> or
                 <info>SORT_NATURAL</info> to sort strings case-insensitively
                 
                 <info>SORT_REGULAR</info> - compare items normally; the details are described in the comparison
                 operators section
                 
                 <info>SORT_NUMERIC</info> - compare items numerically
                 
                 <info>SORT_STRING</info> - compare items as strings
                 
                 <info>SORT_LOCALE_STRING</info> - compare items as strings, based on the current locale. It uses
                 the locale, which can be changed using <strong>setlocale()</strong>
                 
                 <info>SORT_NATURAL</info> - compare items as strings using "natural ordering" like <strong>natsort()</strong>
                 
                 <info>SORT_FLAG_CASE</info> - can be combined (bitwise OR) with <info>SORT_STRING</info> or <info>SORT_NATURAL</info> to
                 sort strings case-insensitively

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>arsort()</strong>
   * Comparația funcțiilor de sortare a tablourilor


id: assert
type: function
doc:
<comment>Description:</comment>
  Checks if assertion is false
  
  PHP 5 and 7
  
  PHP 7
  
  <strong>assert()</strong> will check the given <strong>$assertion</strong> and take appropriate action if its result is <info>false</info>.
  
  If the <strong>$assertion</strong> is given as a string it will be evaluated as PHP code by <strong>assert()</strong>. If you pass a
  boolean condition as <strong>$assertion</strong>, this condition will not show up as parameter to the assertion
  function which you may have defined with <strong>assert_options()</strong>. The condition is converted to a string
  before calling that handler function, and the boolean <info>false</info> is converted as the empty string.
  
  Assertions should be used as a debugging feature only. You may use them for sanity-checks that
  test for conditions that should always be <info>true</info> and that indicate some programming errors if not or
  to check for the presence of certain features like extension functions or certain system limits
  and features.
  
  Assertions should not be used for normal runtime operations like input parameter checks. As a rule
  of thumb your code should always be able to work correctly if assertion checking is not activated.
  
  The behavior of <strong>assert()</strong> may be configured by <strong>assert_options()</strong> or by .ini-settings described in
  that functions manual page.
  
  The <strong>assert_options()</strong> function and/or <info>ASSERT_CALLBACK</info> configuration directive allow a callback
  function to be set to handle failed assertions.
  
  <strong>assert()</strong> callbacks are particularly useful for building automated test suites because they allow
  you to easily capture the code passed to the assertion, along with information on where the
  assertion was made. While this information can be captured via other methods, using assertions
  makes it much faster and easier!
  
  The callback function should accept three arguments. The first argument will contain the file the
  assertion failed in. The second argument will contain the line the assertion failed on and the
  third argument will contain the expression that failed (if any — literal values such as 1 or "two"
  will not be passed via this argument). Users of PHP 5.4.8 and later may also provide a fourth
  optional argument, which will contain the <strong>$description</strong> given to <strong>assert()</strong>, if it was set.
  
  <strong>assert()</strong> is a language construct in PHP 7, allowing for the definition of expectations: assertions
  that take effect in development and testing environments, but are optimised away to have zero cost
  in production.
  
  While <strong>assert_options()</strong> can still be used to control behaviour as described above for backward
  compatibility reasons, PHP 7 only code should use the two new configuration directives to control
  the behaviour of <strong>assert()</strong> and not call <strong>assert_options()</strong>.

<comment>Param:</comment>
  <info>mixed    </info>  <strong>$assertion  </strong>  The assertion. In PHP 5, this must be either a <info>string</info> to be evaluated or
                           a <info>bool</info> to be tested. In PHP 7, this may also be any expression that
                           returns a value, which will be executed and the result used to indicate
                           whether the assertion succeeded or failed.
                           
                           Using <info>string</info> as the <strong>$assertion</strong> is DEPRECATED as of PHP 7.2.
  <info>string   </info>  <strong>$description</strong>  An optional description that will be included in the failure message if
                           the <strong>$assertion</strong> fails. From PHP 7, if no description is provided, a
                           default description equal to the source code for the invocation of
                           <strong>assert()</strong> is provided.
  <info>Throwable</info>  <strong>$exception  </strong>  In PHP 7, the second parameter can be a <class>Throwable</class> object instead of a
                           descriptive <info>string</info>, in which case this is the object that will be thrown
                           if the assertion fails and the assert.exception configuration directive
                           is enabled.

<comment>Return:</comment>
  <info>bool</info>  <info>false</info> if the assertion is false, <info>true</info> otherwise.

<comment>See Also:</comment>
   * <strong>assert_options()</strong>


id: assert_options
type: function
doc:
<comment>Description:</comment>
  Set/get the various assert flags
  
  Set the various <strong>assert()</strong> control options or just query their current settings.
  
  As of PHP 7.0.0, the use of <strong>assert_options()</strong> is discouraged in favor of setting and getting the
  php.ini directives zend.assertions and assert.exception with <strong>ini_set()</strong> and <strong>ini_get()</strong>,
  respectively.

<comment>Param:</comment>
  <info>int   </info>  <strong>$what       </strong>  Assert OptionsOptionINI SettingDefault
                        valueDescriptionASSERT_ACTIVEassert.active1enable <strong>assert()</strong>
                        evaluationASSERT_WARNINGassert.warning1issue a PHP warning for each failed
                        assertionASSERT_BAILassert.bail0terminate execution on failed
                        assertionsASSERT_QUIET_EVALassert.quiet_eval0 disable error_reporting during
                        assertion expression evaluation ASSERT_CALLBACKassert.callback(<info>null</info>)Callback
                        to call on failed assertions
  <info>mixed </info>  <strong>$value      </strong>  An optional new value for the option.
                        
                        The callback function set via <info>ASSERT_CALLBACK</info> or assert.callback should have
                        the following signature:
                        <info>void</info>assert_callback<info>string</info><strong>$file</strong><info>int</info><strong>$line</strong><info>string</info><strong>$assertion</strong><info>string</info><strong>$description</strong>
                        <strong>$file</strong> The file where <strong>assert()</strong> has been called. <strong>$line</strong> The line where <strong>assert()</strong>
                        has been called. <strong>$assertion</strong> The assertion that has been passed to <strong>assert()</strong>,
                        converted to a string. <strong>$description</strong> The description that has been passed to
                        <strong>assert()</strong>.
                        
                        The file where <strong>assert()</strong> has been called.
                        
                        The line where <strong>assert()</strong> has been called.
                        
                        The assertion that has been passed to <strong>assert()</strong>, converted to a string.
                        
                        The description that has been passed to <strong>assert()</strong>.
  <info>string</info>  <strong>$file       </strong>  The file where <strong>assert()</strong> has been called.
  <info>int   </info>  <strong>$line       </strong>  The line where <strong>assert()</strong> has been called.
  <info>string</info>  <strong>$assertion  </strong>  The assertion that has been passed to <strong>assert()</strong>, converted to a string.
  <info>string</info>  <strong>$description</strong>  The description that has been passed to <strong>assert()</strong>.

<comment>Return:</comment>
  <info>mixed</info>  Returns the original setting of any option or <info>false</info> on errors.

<comment>See Also:</comment>
   * <strong>assert()</strong>


id: atan
type: function
doc:
<comment>Description:</comment>
  Arc tangent
  
  Returns the arc tangent of <strong>$num</strong> in radians. <strong>atan()</strong> is the inverse function of <strong>tan()</strong>, which means
  that <return>a==tan(atan(a))</return> for every value of a that is within <strong>atan()</strong>'s range.

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  The argument to process

<comment>Return:</comment>
  <info>float</info>  The arc tangent of <strong>$num</strong> in radians.

<comment>See Also:</comment>
   * <strong>tan()</strong>
   * <strong>atanh()</strong>
   * <strong>asin()</strong>
   * <strong>acos()</strong>


id: atan2
type: function
doc:
<comment>Description:</comment>
  Arc tangent of two variables
  
  This function calculates the arc tangent of the two variables <strong>$x</strong> and <strong>$y</strong>.  It is similar to
  calculating the arc tangent of <strong>$y</strong> / <strong>$x</strong>, except that the signs of both arguments are used to
  determine the quadrant of the result.
  
  The function returns the result in radians, which is between -PI and PI (inclusive).

<comment>Param:</comment>
  <info>float</info>  <strong>$y</strong>  Dividend parameter
  <info>float</info>  <strong>$x</strong>  Divisor parameter

<comment>Return:</comment>
  <info>float</info>  The arc tangent of <strong>$y</strong>/<strong>$x</strong>  in radians.

<comment>See Also:</comment>
   * <strong>atan()</strong>


id: atanh
type: function
doc:
<comment>Description:</comment>
  Inverse hyperbolic tangent
  
  Returns the inverse hyperbolic tangent of <strong>$num</strong>, i.e. the value whose hyperbolic tangent is <strong>$num</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  The argument to process

<comment>Return:</comment>
  <info>float</info>  Inverse hyperbolic tangent of <strong>$num</strong>

<comment>See Also:</comment>
   * <strong>tanh()</strong>
   * <strong>atan()</strong>
   * <strong>asinh()</strong>
   * <strong>acosh()</strong>


id: base64_decode
type: function
doc:
<comment>Description:</comment>
  Decodes data encoded with MIME base64
  
  Decodes a base64 encoded <strong>$string</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  The encoded data.
  <info>bool  </info>  <strong>$strict</strong>  If the <strong>$strict</strong> parameter is set to <info>true</info> then the <strong>base64_decode()</strong> function will
                   return <info>false</info> if the input contains character from outside the base64 alphabet.
                   Otherwise invalid characters will be silently discarded.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the decoded data sau <info>false</info> în cazul eșecului. The returned data may be
               binary.

<comment>See Also:</comment>
   * <strong>base64_encode()</strong>
   * RFC 2045 section 6.8


id: base64_encode
type: function
doc:
<comment>Description:</comment>
  Encodes data with MIME base64
  
  Encodes the given <strong>$string</strong> with base64.
  
  This encoding is designed to make binary data survive transport through transport layers that are
  not 8-bit clean, such as mail bodies.
  
  Base64-encoded data takes about 33% more space than the original data.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  The data to encode.

<comment>Return:</comment>
  <info>string</info>  The encoded data, as a string.

<comment>See Also:</comment>
   * <strong>base64_decode()</strong>
   * <strong>chunk_split()</strong>
   * <strong>convert_uuencode()</strong>
   * RFC 2045 section 6.8


id: base_convert
type: function
doc:
<comment>Description:</comment>
  Convert a number between arbitrary bases
  
  Returns a string containing <strong>$num</strong> represented in base <strong>$to_base</strong>.  The base in which <strong>$num</strong> is given is
  specified in <strong>$from_base</strong>.  Both <strong>$from_base</strong> and <strong>$to_base</strong> have to be between 2 and 36, inclusive.
  Digits in numbers with a base higher than 10 will be represented with the letters a-z, with a
  meaning 10, b meaning 11 and z meaning 35. The case of the letters doesn't matter, i.e. <strong>$num</strong> is
  interpreted case-insensitively.
  
  <strong>base_convert()</strong> may lose precision on large numbers due to properties related to the internal
  "double" or "float" type used. Please see the Floating point numbers section in the manual for
  more specific information and limitations.

<comment>Param:</comment>
  <info>string</info>  <strong>$num      </strong>  The number to convert. Any invalid characters in <strong>$num</strong> are silently ignored. As
                      of PHP 7.4.0 supplying any invalid characters is deprecated.
  <info>int   </info>  <strong>$from_base</strong>  The base <strong>$num</strong> is in
  <info>int   </info>  <strong>$to_base  </strong>  The base to convert <strong>$num</strong> to

<comment>Return:</comment>
  <info>string</info>  <strong>$num</strong> converted to base <strong>$to_base</strong>

<comment>See Also:</comment>
   * <strong>intval()</strong>


id: basename
type: function
doc:
<comment>Description:</comment>
  Returns trailing name component of path
  
  Given a string containing the path to a file or directory, this function will return the trailing
  name component.
  
  <strong>basename()</strong> operates naively on the input string, and is not aware of the actual filesystem, or
  path components such as "<return>..</return>".
  
  <strong>basename()</strong> is locale aware, so for it to see the  correct basename with multibyte character paths,
  the matching locale must  be set using the <strong>setlocale()</strong> function.

<comment>Param:</comment>
  <info>string</info>  <strong>$path  </strong>  A path.
                   
                   On Windows, both slash (<return>/</return>) and backslash (<return>\</return>) are used as directory separator
                   character. In other environments, it is the forward slash (<return>/</return>).
  <info>string</info>  <strong>$suffix</strong>  If the name component ends in <strong>$suffix</strong> this will also be cut off.

<comment>Return:</comment>
  <info>string</info>  Returns the base name of the given <strong>$path</strong>.

<comment>See Also:</comment>
   * <strong>dirname()</strong>
   * <strong>pathinfo()</strong>


id: bcadd
type: function
doc:
<comment>Description:</comment>
  Add two arbitrary precision numbers
  
  Sums <strong>$num1</strong> and <strong>$num2</strong>.

<comment>Param:</comment>
  <info>string </info>  <strong>$num1 </strong>  The left operand, as a string.
  <info>string </info>  <strong>$num2 </strong>  The right operand, as a string.
  <info>intnull</info>  <strong>$scale</strong>  Acest parametru
                   opțional este utilizat pentru a stabili numărul cifrelor după virgulă din
                   rezultat. Dacă este omis, valoarea implicită va fi cea stabilită global cu
                   funcția <strong>bcscale()</strong>, sau va fi <return>0</return> dacă nu
                   a fost stabilită cu ajutorul acestei funcții.

<comment>Return:</comment>
  <info>string</info>  The sum of the two operands, as a string.

<comment>See Also:</comment>
   * <strong>bcsub()</strong>


id: bccomp
type: function
doc:
<comment>Description:</comment>
  Compare two arbitrary precision numbers
  
  Compares the <strong>$num1</strong> to the <strong>$num2</strong> and returns the result as an integer.

<comment>Param:</comment>
  <info>string </info>  <strong>$num1 </strong>  The left operand, as a string.
  <info>string </info>  <strong>$num2 </strong>  The right operand, as a string.
  <info>intnull</info>  <strong>$scale</strong>  The optional <strong>$scale</strong> parameter is used to set the number of digits after the
                   decimal place which will be used in the comparison.

<comment>Return:</comment>
  <info>int</info>  Returns 0 if the two operands are equal, 1 if the <strong>$num1</strong> is larger than the  <strong>$num2</strong>, -1
       otherwise.


id: bcdiv
type: function
doc:
<comment>Description:</comment>
  Divide two arbitrary precision numbers
  
  Divides the <strong>$num1</strong> by the <strong>$num2</strong>.

<comment>Param:</comment>
  <info>string </info>  <strong>$num1 </strong>  The dividend, as a string.
  <info>string </info>  <strong>$num2 </strong>  The divisor, as a string.
  <info>intnull</info>  <strong>$scale</strong>  Acest parametru
                   opțional este utilizat pentru a stabili numărul cifrelor după virgulă din
                   rezultat. Dacă este omis, valoarea implicită va fi cea stabilită global cu
                   funcția <strong>bcscale()</strong>, sau va fi <return>0</return> dacă nu
                   a fost stabilită cu ajutorul acestei funcții.

<comment>Return:</comment>
  <info>string</info>  Returns the result of the division as a string, or <info>null</info> if  <strong>$num2</strong> is <return>0</return>.

<comment>See Also:</comment>
   * <strong>bcmul()</strong>


id: bcmod
type: function
doc:
<comment>Description:</comment>
  Get modulus of an arbitrary precision number
  
  Get the remainder of dividing <strong>$num1</strong> by <strong>$num2</strong>. Unless <strong>$num2</strong> is zero, the result has the same sign
  as <strong>$num1</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$num1</strong>  The dividend, as a string.
  <info>string</info>  <strong>$num2</strong>  The divisor, as a string.

<comment>Return:</comment>
  <info>string</info>  Returns the modulus as a string, or <info>null</info> if  <strong>$num2</strong> is <return>0</return>.

<comment>See Also:</comment>
   * <strong>bcdiv()</strong>


id: bcmul
type: function
doc:
<comment>Description:</comment>
  Multiply two arbitrary precision numbers
  
  Multiply the <strong>$num1</strong> by the <strong>$num2</strong>.

<comment>Param:</comment>
  <info>string </info>  <strong>$num1 </strong>  The left operand, as a string.
  <info>string </info>  <strong>$num2 </strong>  The right operand, as a string.
  <info>intnull</info>  <strong>$scale</strong>  Acest parametru
                   opțional este utilizat pentru a stabili numărul cifrelor după virgulă din
                   rezultat. Dacă este omis, valoarea implicită va fi cea stabilită global cu
                   funcția <strong>bcscale()</strong>, sau va fi <return>0</return> dacă nu
                   a fost stabilită cu ajutorul acestei funcții.

<comment>Return:</comment>
  <info>string</info>  Returns the result as a string.

<comment>See Also:</comment>
   * <strong>bcdiv()</strong>


id: bcpow
type: function
doc:
<comment>Description:</comment>
  Raise an arbitrary precision number to another
  
  Raise <strong>$num</strong> to the power  <strong>$exponent</strong>.

<comment>Param:</comment>
  <info>string </info>  <strong>$num     </strong>  The base, as a string.
  <info>string </info>  <strong>$exponent</strong>  The exponent, as a string. If the exponent is non-integral, it is truncated.
                      The valid range of the exponent is platform specific, but is at least
                      <return>-2147483648</return> to <return>2147483647</return>.
  <info>intnull</info>  <strong>$scale   </strong>  Acest parametru
                      opțional este utilizat pentru a stabili numărul cifrelor după virgulă din
                      rezultat. Dacă este omis, valoarea implicită va fi cea stabilită global cu
                      funcția <strong>bcscale()</strong>, sau va fi <return>0</return> dacă nu
                      a fost stabilită cu ajutorul acestei funcții.

<comment>Return:</comment>
  <info>string</info>  Returns the result as a string.

<comment>See Also:</comment>
   * <strong>bcpowmod()</strong>
   * <strong>bcsqrt()</strong>


id: bcpowmod
type: function
doc:
<comment>Description:</comment>
  Raise an arbitrary precision number to another, reduced by a specified modulus
  
  Use the fast-exponentiation method to raise  <strong>$num</strong> to the power <strong>$exponent</strong> with respect to the
  modulus <strong>$modulus</strong>.

<comment>Param:</comment>
  <info>string </info>  <strong>$num     </strong>  The base, as an integral string (i.e. the scale has to be zero).
  <info>string </info>  <strong>$exponent</strong>  The exponent, as an non-negative, integral string (i.e. the scale has to be
                      zero).
  <info>string </info>  <strong>$modulus </strong>  The modulus, as an integral string (i.e. the scale has to be zero).
  <info>intnull</info>  <strong>$scale   </strong>  Acest parametru
                      opțional este utilizat pentru a stabili numărul cifrelor după virgulă din
                      rezultat. Dacă este omis, valoarea implicită va fi cea stabilită global cu
                      funcția <strong>bcscale()</strong>, sau va fi <return>0</return> dacă nu
                      a fost stabilită cu ajutorul acestei funcții.

<comment>Return:</comment>
  <info>string</info>  Returns the result as a string, or <info>false</info> if <strong>$modulus</strong> is <return>0</return> or <strong>$exponent</strong> is negative.

<comment>See Also:</comment>
   * <strong>bcpow()</strong>
   * <strong>bcmod()</strong>


id: bcscale
type: function
doc:
<comment>Description:</comment>
  Set or get default scale parameter for all bc math functions
  
  Sets the default scale parameter for all subsequent calls to bc math functions that do not
  explicitly specify a scale parameter.
  
  Gets the current scale factor.

<comment>Param:</comment>
  <info>int</info>  <strong>$scale</strong>  The scale factor.

<comment>Return:</comment>
  <info>int</info>  Returns the old scale when used as setter. Otherwise the current scale is returned.


id: bcsqrt
type: function
doc:
<comment>Description:</comment>
  Get the square root of an arbitrary precision number
  
  Return the square root of the <strong>$num</strong>.

<comment>Param:</comment>
  <info>string </info>  <strong>$num  </strong>  The operand, as a string.
  <info>intnull</info>  <strong>$scale</strong>  Acest parametru
                   opțional este utilizat pentru a stabili numărul cifrelor după virgulă din
                   rezultat. Dacă este omis, valoarea implicită va fi cea stabilită global cu
                   funcția <strong>bcscale()</strong>, sau va fi <return>0</return> dacă nu
                   a fost stabilită cu ajutorul acestei funcții.

<comment>Return:</comment>
  <info>string</info>  Returns the square root as a string, or <info>null</info> if  <strong>$num</strong> is negative.

<comment>See Also:</comment>
   * <strong>bcpow()</strong>


id: bcsub
type: function
doc:
<comment>Description:</comment>
  Subtract one arbitrary precision number from another
  
  Subtracts the <strong>$num2</strong> from the <strong>$num1</strong>.

<comment>Param:</comment>
  <info>string </info>  <strong>$num1 </strong>  The left operand, as a string.
  <info>string </info>  <strong>$num2 </strong>  The right operand, as a string.
  <info>intnull</info>  <strong>$scale</strong>  Acest parametru
                   opțional este utilizat pentru a stabili numărul cifrelor după virgulă din
                   rezultat. Dacă este omis, valoarea implicită va fi cea stabilită global cu
                   funcția <strong>bcscale()</strong>, sau va fi <return>0</return> dacă nu
                   a fost stabilită cu ajutorul acestei funcții.

<comment>Return:</comment>
  <info>string</info>  The result of the subtraction, as a string.

<comment>See Also:</comment>
   * <strong>bcadd()</strong>


id: bin2hex
type: function
doc:
<comment>Description:</comment>
  Convert binary data into hexadecimal representation
  
  Returns an ASCII string containing the hexadecimal representation of <strong>$string</strong>. The conversion is
  done byte-wise with the high-nibble first.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  A string.

<comment>Return:</comment>
  <info>string</info>  Returns the hexadecimal representation of the given string.

<comment>See Also:</comment>
   * <strong>hex2bin()</strong>
   * <strong>pack()</strong>


id: bind_textdomain_codeset
type: function
doc:
<comment>Description:</comment>
  Specify the character encoding in which the messages from the DOMAIN message catalog will be
  returned
  
  With <strong>bind_textdomain_codeset()</strong>, you can set in which encoding will be messages from <strong>$domain</strong>
  returned by <strong>gettext()</strong> and similar functions.

<comment>Param:</comment>
  <info>string</info>  <strong>$domain </strong>  The domain
  <info>string</info>  <strong>$codeset</strong>  The code set

<comment>Return:</comment>
  <info>stringfalse</info>  A <info>string</info> on success.


id: bindec
type: function
doc:
<comment>Description:</comment>
  Binary to decimal
  
  Returns the decimal equivalent of the binary number represented by the <strong>$binary_string</strong> argument.
  
  <strong>bindec()</strong> converts a binary number to an <info>int</info> or, if needed for size reasons, <info>float</info>.
  
  <strong>bindec()</strong> interprets all <strong>$binary_string</strong> values as unsigned integers. This is because <strong>bindec()</strong> sees
  the most significant bit as another order of magnitude rather than as the sign bit.

<comment>Param:</comment>
  <info>string</info>  <strong>$binary_string</strong>  The binary string to convert. Any invalid characters in <strong>$binary_string</strong> are
                          silently ignored. As of PHP 7.4.0 supplying any invalid characters is
                          deprecated.

<comment>Return:</comment>
  <info>intfloat</info>  The decimal value of <strong>$binary_string</strong>

<comment>See Also:</comment>
   * <strong>decbin()</strong>
   * <strong>octdec()</strong>
   * <strong>hexdec()</strong>
   * <strong>base_convert()</strong>


id: bindtextdomain
type: function
doc:
<comment>Description:</comment>
  Sets the path for a domain
  
  The <strong>bindtextdomain()</strong> function sets the path for a domain.

<comment>Param:</comment>
  <info>string</info>  <strong>$domain   </strong>  The domain
  <info>string</info>  <strong>$directory</strong>  The directory path

<comment>Return:</comment>
  <info>stringfalse</info>  The full pathname for the <strong>$domain</strong> currently being set.


id: blenc_encrypt
type: function
doc:
<comment>Description:</comment>
  Encrypt a PHP script with BLENC
    
  
  Encrypt the <strong>$plaintext</strong> content and write it into <strong>$encodedfile</strong>

<comment>Param:</comment>
  <info>string</info>  <strong>$plaintext     </strong>  A source code to encrypt. Does not need to contain opening/closing PHP
                           tags
  <info>string</info>  <strong>$encodedfile   </strong>  The filename where BLENC will save the encoded source.
  <info>string</info>  <strong>$encryption_key</strong>  The key that BLENC will use to encrypt plaintext content. If not given
                           BLENC will create a valid key.

<comment>Return:</comment>
  <info>string</info>  BLENC will return the redistributable key that must be saved into key_file: the path of
          key_file is specified at runtime with the option blenc.key_file


id: boolval
type: function
doc:
<comment>Description:</comment>
  Get the boolean value of a variable
  
  Returns the <info>bool</info> value of <strong>$value</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  The scalar value being converted to a <info>bool</info>.

<comment>Return:</comment>
  <info>bool</info>  The <info>bool</info> value of <strong>$value</strong>.

<comment>See Also:</comment>
   * <strong>floatval()</strong>
   * <strong>intval()</strong>
   * <strong>strval()</strong>
   * <strong>settype()</strong>
   * <strong>is_bool()</strong>
   * Type juggling


id: bson_decode
type: function
doc:
<comment>Description:</comment>
  Deserializes a BSON object into a PHP array
  
  This function is very beta and entirely useless for 99% of users.  It is only useful if you're
  doing something weird, such as writing your own driver on  top of the PHP driver.

<comment>Param:</comment>
  <info>string</info>  <strong>$bson</strong>  The BSON to be deserialized.

<comment>Return:</comment>
  <info>array</info>  Returns the deserialized BSON object.


id: bson_encode
type: function
doc:
<comment>Description:</comment>
  Serializes a PHP variable into a BSON string
  
  This function is very beta and entirely useless for 99% of users.  It is only useful if you're
  doing something weird, such as writing your own driver on  top of the PHP driver.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$anything</strong>  The variable to be serialized.

<comment>Return:</comment>
  <info>string</info>  Returns the serialized string.


id: bzclose
type: function
doc:
<comment>Description:</comment>
  Close a bzip2 file
  
  Closes the given bzip2 file pointer.

<comment>Param:</comment>
  <info>resource</info>  <strong>$bz</strong>  The file pointer. It must be valid and must point to a file  successfully opened by
                 <strong>bzopen()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>bzopen()</strong>


id: bzcompress
type: function
doc:
<comment>Description:</comment>
  Compress a string into bzip2 encoded data
  
  <strong>bzcompress()</strong> compresses the given string and returns it as bzip2 encoded data.

<comment>Param:</comment>
  <info>string</info>  <strong>$data       </strong>  The string to compress.
  <info>int   </info>  <strong>$block_size </strong>  Specifies the blocksize used during compression and should be a number  from
                        1 to 9 with 9 giving the best compression, but using more  resources to do
                        so.
  <info>int   </info>  <strong>$work_factor</strong>  Controls how the compression phase behaves when presented with worst case,
                        highly repetitive, input data.  The value can be between 0 and 250 with 0
                        being a special case.
                        
                        Regardless of the <strong>$work_factor</strong>, the generated  output is the same.

<comment>Return:</comment>
  <info>stringint</info>  The compressed string, or an error number if an error occurred.

<comment>See Also:</comment>
   * <strong>bzdecompress()</strong>


id: bzdecompress
type: function
doc:
<comment>Description:</comment>
  Decompresses bzip2 encoded data
  
  <strong>bzdecompress()</strong> decompresses the given string containing bzip2 encoded data.

<comment>Param:</comment>
  <info>string</info>  <strong>$data           </strong>  The string to decompress.
  <info>bool  </info>  <strong>$use_less_memory</strong>  If <info>true</info>, an alternative decompression algorithm will be used which uses
                            less memory (the maximum memory requirement drops to around 2300K)  but
                            works at roughly half the speed.
                            
                            See the bzip2 documentation for more  information about this feature.

<comment>Return:</comment>
  <info>stringintfalse</info>  The decompressed string, or <info>false</info> or an error number if an error occurred.

<comment>See Also:</comment>
   * <strong>bzcompress()</strong>


id: bzerrno
type: function
doc:
<comment>Description:</comment>
  Returns a bzip2 error number
  
  Returns the error number of any bzip2 error returned by the given file pointer.

<comment>Param:</comment>
  <info>resource</info>  <strong>$bz</strong>  The file pointer. It must be valid and must point to a file  successfully opened by
                 <strong>bzopen()</strong>.

<comment>Return:</comment>
  <info>int</info>  Returns the error number as an integer.

<comment>See Also:</comment>
   * <strong>bzerror()</strong>
   * <strong>bzerrstr()</strong>


id: bzerror
type: function
doc:
<comment>Description:</comment>
  Returns the bzip2 error number and error string in an array
    
  
  Returns the error number and error string of any bzip2 error returned by  the given file pointer.

<comment>Param:</comment>
  <info>resource</info>  <strong>$bz</strong>  The file pointer. It must be valid and must point to a file  successfully opened by
                 <strong>bzopen()</strong>.

<comment>Return:</comment>
  <info>array</info>  Returns an associative array, with the error code in the  <return>errno</return> entry, and the error
         message in the <return>errstr</return> entry.

<comment>See Also:</comment>
   * <strong>bzerrno()</strong>
   * <strong>bzerrstr()</strong>


id: bzerrstr
type: function
doc:
<comment>Description:</comment>
  Returns a bzip2 error string
  
  Gets the error string of any bzip2 error returned by the given file pointer.

<comment>Param:</comment>
  <info>resource</info>  <strong>$bz</strong>  The file pointer. It must be valid and must point to a file  successfully opened by
                 <strong>bzopen()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns a string containing the error message.

<comment>See Also:</comment>
   * <strong>bzerrno()</strong>
   * <strong>bzerror()</strong>


id: bzflush
type: function
doc:
<comment>Description:</comment>
  Do nothing
  
  This function is supposed to force a write of all buffered bzip2 data for the file pointer <strong>$bz</strong>,
  but is implemented as null function in libbz2, and as such does nothing.

<comment>Param:</comment>
  <info>resource</info>  <strong>$bz</strong>  The file pointer. It must be valid and must point to a file  successfully opened by
                 <strong>bzopen()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>bzread()</strong>
   * <strong>bzwrite()</strong>


id: bzopen
type: function
doc:
<comment>Description:</comment>
  Opens a bzip2 compressed file
  
  <strong>bzopen()</strong> opens a bzip2 (.bz2) file for reading or writing.

<comment>Param:</comment>
  <info>stringresource</info>  <strong>$file</strong>  The name of the file to open, or an existing stream resource.
  <info>string        </info>  <strong>$mode</strong>  The modes <return>'r'</return> (read), and <return>'w'</return> (write) are supported. Everything else will
                         cause <strong>bzopen()</strong> to return <info>false</info>.

<comment>Return:</comment>
  <info>resourcefalse</info>  If the open fails, <strong>bzopen()</strong> returns <info>false</info>, otherwise it returns a pointer to the
                 newly opened file.

<comment>See Also:</comment>
   * <strong>bzclose()</strong>


id: bzread
type: function
doc:
<comment>Description:</comment>
  Binary safe bzip2 file read
  
  <strong>bzread()</strong> reads from the given bzip2 file pointer.
  
  Reading stops when <strong>$length</strong> (uncompressed) bytes have been read or EOF is reached, whichever comes
  first.

<comment>Param:</comment>
  <info>resource</info>  <strong>$bz    </strong>  The file pointer. It must be valid and must point to a file  successfully
                     opened by <strong>bzopen()</strong>.
  <info>int     </info>  <strong>$length</strong>  If not specified, <strong>bzread()</strong> will read 1024  (uncompressed) bytes at a time. A
                     maximum of 8192 uncompressed bytes will be read at a time.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the uncompressed data, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>bzwrite()</strong>
   * <strong>feof()</strong>
   * <strong>bzopen()</strong>


id: bzwrite
type: function
doc:
<comment>Description:</comment>
  Binary safe bzip2 file write
  
  <strong>bzwrite()</strong> writes a string into the given bzip2 file  stream.

<comment>Param:</comment>
  <info>resource</info>  <strong>$bz    </strong>  The file pointer. It must be valid and must point to a file  successfully
                     opened by <strong>bzopen()</strong>.
  <info>string  </info>  <strong>$data  </strong>  The written data.
  <info>intnull </info>  <strong>$length</strong>  If supplied, writing will stop after <strong>$length</strong>  (uncompressed) bytes have been
                     written or the end of  <strong>$data</strong> is reached, whichever comes first.

<comment>Return:</comment>
  <info>intfalse</info>  Returns the number of bytes written, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>bzread()</strong>
   * <strong>bzopen()</strong>


id: cal_days_in_month
type: function
doc:
<comment>Description:</comment>
  Return the number of days in a month for a given year and calendar
  
  This function will return the number of days in the <strong>$month</strong> of <strong>$year</strong> for the specified <strong>$calendar</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$calendar</strong>  Calendar to use for calculation
  <info>int</info>  <strong>$month   </strong>  Month in the selected calendar
  <info>int</info>  <strong>$year    </strong>  Year in the selected calendar

<comment>Return:</comment>
  <info>int</info>  The length in days of the selected month in the given calendar


id: cal_from_jd
type: function
doc:
<comment>Description:</comment>
  Converts from Julian Day Count to a supported calendar
  
  <strong>cal_from_jd()</strong> converts the Julian day given in <strong>$julian_day</strong> into a date of the specified <strong>$calendar</strong>.
  Supported <strong>$calendar</strong> values are <info>CAL_GREGORIAN</info>, <info>CAL_JULIAN</info>, <info>CAL_JEWISH</info> and <info>CAL_FRENCH</info>.

<comment>Param:</comment>
  <info>int</info>  <strong>$julian_day</strong>  Julian day as integer
  <info>int</info>  <strong>$calendar  </strong>  Calendar to convert to

<comment>Return:</comment>
  <info>array</info>  Returns an array containing calendar information like month, day, year, day of week (<return>dow</return>),
         abbreviated and full names of weekday and month and the date in string form
         "month/day/year". The day of week ranges from <return>0</return> (Sunday) to <return>6</return> (Saturday).

<comment>See Also:</comment>
   * <strong>cal_to_jd()</strong>
   * <strong>jdtofrench()</strong>
   * <strong>jdtogregorian()</strong>
   * <strong>jdtojewish()</strong>
   * <strong>jdtojulian()</strong>
   * <strong>jdtounix()</strong>


id: cal_info
type: function
doc:
<comment>Description:</comment>
  Returns information about a particular calendar
  
  <strong>cal_info()</strong> returns information on the specified <strong>$calendar</strong>.
  
  Calendar information is returned as an array containing the elements <return>calname</return>, <return>calsymbol</return>, <return>month</return>,
  <return>abbrevmonth</return> and <return>maxdaysinmonth</return>. The names of the different calendars  which can be used as
  <strong>$calendar</strong> are as follows:  0 or <info>CAL_GREGORIAN</info> - Gregorian Calendar  1 or <info>CAL_JULIAN</info> - Julian
  Calendar  2 or <info>CAL_JEWISH</info> - Jewish Calendar  3 or <info>CAL_FRENCH</info> - French Revolutionary Calendar
  
  0 or <info>CAL_GREGORIAN</info> - Gregorian Calendar
  
  1 or <info>CAL_JULIAN</info> - Julian Calendar
  
  2 or <info>CAL_JEWISH</info> - Jewish Calendar
  
  3 or <info>CAL_FRENCH</info> - French Revolutionary Calendar
  
  If no <strong>$calendar</strong> is specified information on all supported calendars is returned as an array.

<comment>Param:</comment>
  <info>int</info>  <strong>$calendar</strong>  Calendar to return information for. If no calendar is specified information about
                  all calendars is returned.

<comment>Return:</comment>
  <info>array</info>  


id: cal_to_jd
type: function
doc:
<comment>Description:</comment>
  Converts from a supported calendar to Julian Day Count
  
  <strong>cal_to_jd()</strong> calculates the Julian day count for a date in the specified <strong>$calendar</strong>. Supported
  <strong>$calendar</strong>s are <info>CAL_GREGORIAN</info>, <info>CAL_JULIAN</info>, <info>CAL_JEWISH</info> and <info>CAL_FRENCH</info>.

<comment>Param:</comment>
  <info>int</info>  <strong>$calendar</strong>  Calendar to convert from, one of  <info>CAL_GREGORIAN</info>, <info>CAL_JULIAN</info>, <info>CAL_JEWISH</info> or
                  <info>CAL_FRENCH</info>.
  <info>int</info>  <strong>$month   </strong>  The month as a number, the valid range depends  on the <strong>$calendar</strong>
  <info>int</info>  <strong>$day     </strong>  The day as a number, the valid range depends  on the <strong>$calendar</strong>
  <info>int</info>  <strong>$year    </strong>  The year as a number, the valid range depends  on the <strong>$calendar</strong>

<comment>Return:</comment>
  <info>int</info>  A Julian Day number.

<comment>See Also:</comment>
   * <strong>cal_from_jd()</strong>
   * <strong>frenchtojd()</strong>
   * <strong>gregoriantojd()</strong>
   * <strong>jewishtojd()</strong>
   * <strong>juliantojd()</strong>
   * <strong>unixtojd()</strong>


id: call_user_func
type: function
doc:
<comment>Description:</comment>
  Call the callback given by the first parameter
  
  Calls the <strong>$callback</strong> given by the first parameter and passes the remaining parameters as arguments.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  The <info>callable</info> to be called.
  <info>mixed   </info>  <strong>$args    </strong>  Zero or more parameters to be passed to the callback.
                       
                       Note that the parameters for <strong>call_user_func()</strong> are not passed by reference.
                       <strong>call_user_func()</strong> example and references
                       ]]>
                       Exemplul de mai sus va afișa:
                       
                       Exemplul de mai sus va afișa:

<comment>Return:</comment>
  <info>mixed</info>  Returns the return value of the callback.

<comment>See Also:</comment>
   * <strong>call_user_func_array()</strong>
   * <strong>is_callable()</strong>
   * ReflectionFunction::invoke
   * ReflectionMethod::invoke


id: call_user_func_array
type: function
doc:
<comment>Description:</comment>
  Call a callback with an array of parameters
  
  Calls the <strong>$callback</strong> given by the first parameter with the parameters in <strong>$args</strong>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  The <info>callable</info> to be called.
  <info>array   </info>  <strong>$args    </strong>  The parameters to be passed to the callback, as an indexed array.

<comment>Return:</comment>
  <info>mixed</info>  Returns the return value of the callback, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>call_user_func()</strong>
   * ReflectionFunction::invokeArgs
   * ReflectionMethod::invokeArgs


id: ceil
type: function
doc:
<comment>Description:</comment>
  Round fractions up
  
  Returns the next highest integer value by rounding up  <strong>$value</strong> if necessary.

<comment>Param:</comment>
  <info>float</info>  <strong>$value</strong>  The value to round

<comment>Return:</comment>
  <info>float</info>  <strong>$value</strong> rounded up to the next highest integer. The return value of <strong>ceil()</strong> is still of type
         <info>float</info> as the value range of <info>float</info> is  usually bigger than that of <info>int</info>.

<comment>See Also:</comment>
   * <strong>floor()</strong>
   * <strong>round()</strong>


id: chdir
type: function
doc:
<comment>Description:</comment>
  Change directory
  
  Changes PHP's current directory to  <strong>$directory</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$directory</strong>  The new current directory

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>getcwd()</strong>


id: checkdate
type: function
doc:
<comment>Description:</comment>
  Validează o dată Gregoriană
  
  Verifică validitatea datei formate din argumenți. O dată este considerată validă dacă fiecare
  parametru este definit corespunzător.

<comment>Param:</comment>
  <info>int</info>  <strong>$month</strong>  Luna este între 1 și 12 inclusiv.
  <info>int</info>  <strong>$day  </strong>  Ziua este cuprinsă în domeniul zilelor permise pentru luna respectivă. Anii bisecți
               sunt luați în considerare.
  <info>int</info>  <strong>$year </strong>  Anul este între 1 și 32767 inclusiv.

<comment>Return:</comment>
  <info>bool</info>  Întoarce <info>true</info> dacă data este validă; în caz contrar întoarce <info>false</info>.

<comment>See Also:</comment>
   * <strong>mktime()</strong>
   * <strong>strtotime()</strong>


id: checkdnsrr
type: function
doc:
<comment>Description:</comment>
  Check DNS records corresponding to a given Internet host name or IP address
  
  Searches DNS for records of type <strong>$type</strong> corresponding to <strong>$hostname</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  <strong>$hostname</strong> may either be the IP address in dotted-quad notation or the host
                     name.
  <info>string</info>  <strong>$type    </strong>  <strong>$type</strong> may be any one of: A, MX, NS, SOA, PTR, CNAME, AAAA, A6, SRV, NAPTR, TXT
                     or ANY.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if any records are found; returns <info>false</info> if no records were found or if an error
        occurred.

<comment>See Also:</comment>
   * <strong>dns_get_record()</strong>
   * <strong>getmxrr()</strong>
   * <strong>gethostbyaddr()</strong>
   * <strong>gethostbyname()</strong>
   * <strong>gethostbynamel()</strong>
   * the named(8) manual page


id: chgrp
type: function
doc:
<comment>Description:</comment>
  Changes file group
  
  Attempts to change the group of the file <strong>$filename</strong> to <strong>$group</strong>.
  
  Only the superuser may change the group of a file arbitrarily; other users may change the group of
  a file to any group of which that user is a member.

<comment>Param:</comment>
  <info>string   </info>  <strong>$filename</strong>  Path to the file.
  <info>stringint</info>  <strong>$group   </strong>  A group name or number.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>chown()</strong>
   * <strong>chmod()</strong>


id: chmod
type: function
doc:
<comment>Description:</comment>
  Changes file mode
  
  Attempts to change the mode of the specified file to that given in <strong>$permissions</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename   </strong>  Path to the file.
  <info>int   </info>  <strong>$permissions</strong>  Note that <strong>$permissions</strong> is not automatically assumed to be an octal value, so
                        to ensure the expected operation, you need to prefix <strong>$permissions</strong> with a
                        zero (0).  Strings such as "g+w" will not work properly.
                        
                        
                        ]]>
                        
                        The <strong>$permissions</strong> parameter consists of three octal number components
                        specifying access restrictions for the owner, the user group in which the
                        owner is in, and to everybody else in this order. One component can be
                        computed by adding up the needed permissions for that target user base.
                        Number 1 means that you grant execute rights, number 2 means that you make
                        the file writeable, number 4 means that you make the file readable. Add up
                        these numbers to specify needed rights. You can also read more about modes
                        on Unix systems with 'man 1 chmod' and 'man 2 chmod'.
                        
                        

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>chown()</strong>
   * <strong>chgrp()</strong>
   * <strong>fileperms()</strong>
   * <strong>stat()</strong>


id: chop
type: function
doc:
<comment>Description:</comment>
  Pseudonim pentru rtrim
  
  Această funcție este pseudonim pentru:  <strong>rtrim()</strong>.


id: chown
type: function
doc:
<comment>Description:</comment>
  Changes file owner
  
  Attempts to change the owner of the file <strong>$filename</strong> to user <strong>$user</strong>. Only the superuser may change
  the owner of a file.

<comment>Param:</comment>
  <info>string   </info>  <strong>$filename</strong>  Path to the file.
  <info>stringint</info>  <strong>$user    </strong>  A user name or number.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>chmod()</strong>
   * <strong>chgrp()</strong>


id: chr
type: function
doc:
<comment>Description:</comment>
  Generate a single-byte string from a number
  
  Returns a one-character string containing the character specified by interpreting <strong>$codepoint</strong> as an
  unsigned integer.
  
  This can be used to create a one-character string in a single-byte encoding such as ASCII,
  ISO-8859, or Windows 1252, by passing the position of a desired character in the encoding's
  mapping table. However, note that this function is not aware of any string encoding, and in
  particular cannot be passed a Unicode code point value to generate a string in a multibyte
  encoding like UTF-8 or UTF-16.
  
  This function complements <strong>ord()</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$codepoint</strong>  An integer between 0 and 255.
                   
                   Values outside the valid range (0..255) will be bitwise and'ed with 255, which is
                   equivalent to the following algorithm:

<comment>Return:</comment>
  <info>string</info>  A single-character string containing the specified byte.

<comment>See Also:</comment>
   * <strong>sprintf()</strong> with a format string of <return>%c</return>
   * <strong>ord()</strong>
   * An ASCII-table
   * <strong>mb_chr()</strong>


id: chroot
type: function
doc:
<comment>Description:</comment>
  Change the root directory
  
  Changes the root directory of the current process to <strong>$directory</strong>, and changes the current working
  directory to "/".
  
  This function is only available to GNU and BSD systems, and only when using the CLI, CGI or Embed
  SAPI. Also, this function requires root privileges.

<comment>Param:</comment>
  <info>string</info>  <strong>$directory</strong>  The path to change the root directory to.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: chunk_split
type: function
doc:
<comment>Description:</comment>
  Split a string into smaller chunks
  
  Can be used to split a string into smaller chunks which is useful for e.g. converting
  <strong>base64_encode()</strong> output to match RFC 2045 semantics. It inserts <strong>$separator</strong> every  <strong>$length</strong>
  characters.

<comment>Param:</comment>
  <info>string</info>  <strong>$string   </strong>  The string to be chunked.
  <info>int   </info>  <strong>$length   </strong>  The chunk length.
  <info>string</info>  <strong>$separator</strong>  The line ending sequence.

<comment>Return:</comment>
  <info>string</info>  Returns the chunked string.

<comment>See Also:</comment>
   * <strong>str_split()</strong>
   * <strong>explode()</strong>
   * <strong>split()</strong>
   * <strong>wordwrap()</strong>
   * RFC 2045


id: class_alias
type: function
doc:
<comment>Description:</comment>
  Creates an alias for a class
  
  Creates an alias named <strong>$alias</strong> based on the user defined class <strong>$original</strong>. The aliased class is
  exactly the same as the original class.

<comment>Param:</comment>
  <info>string</info>  <strong>$original</strong>  The original class.
  <info>string</info>  <strong>$alias   </strong>  The alias name for the class.
  <info>bool  </info>  <strong>$autoload</strong>  Whether to autoload if the original class is not found.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>get_parent_class()</strong>
   * <strong>is_subclass_of()</strong>


id: class_exists
type: function
doc:
<comment>Description:</comment>
  Verifică dacă clasa a fost definită
  
  Această funcție verifică dacă clasa dată ca parametru a fost definită sau nu.

<comment>Param:</comment>
  <info>string</info>  <strong>$class_name</strong>  Numele clasei. Numele este căutat în manieră case-insensitive (ignoră
                       capitalizarea literelor).
  <info>bool  </info>  <strong>$autoload  </strong>  Indică dacă __autoload trebuie să fie apelat implicit.

<comment>Return:</comment>
  <info>bool</info>  Întoarce <info>true</info> dacă <strong>$class_name</strong> e o clasă definită, <info>false</info> în caz contrar.

<comment>See Also:</comment>
   * <strong>function_exists()</strong>
   * <strong>interface_exists()</strong>
   * <strong>get_declared_classes()</strong>


id: class_implements
type: function
doc:
<comment>Description:</comment>
  Return the interfaces which are implemented by the given class or interface
    
  
  This function returns an array with the names of the interfaces that the given <strong>$class</strong> and its
  parents implement.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$class   </strong>  An object (class instance) or a string (class or interface name).
  <info>bool </info>  <strong>$autoload</strong>  Whether to allow this function to load the class automatically through the
                    <strong>__autoload()</strong> magic method.

<comment>Return:</comment>
  <info>array</info>  An array on success, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>class_parents()</strong>
   * <strong>get_declared_interfaces()</strong>


id: class_parents
type: function
doc:
<comment>Description:</comment>
  Return the parent classes of the given class
    
  
  This function returns an array with the name of the parent classes of the given <strong>$class</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$class   </strong>  An object (class instance) or a string (class name).
  <info>bool </info>  <strong>$autoload</strong>  Whether to allow this function to load the class automatically through the
                    <strong>__autoload()</strong> magic method.

<comment>Return:</comment>
  <info>array</info>  An array on success, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>class_implements()</strong>


id: class_uses
type: function
doc:
<comment>Description:</comment>
  Return the traits used by the given class
    
  
  This function returns an array with the names of the traits that the given <strong>$class</strong> uses. This does
  however not include any traits used by a parent class.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$class   </strong>  An object (class instance) or a string (class name).
  <info>bool </info>  <strong>$autoload</strong>  Whether to allow this function to load the class automatically through the
                    <strong>__autoload()</strong> magic method.

<comment>Return:</comment>
  <info>array</info>  An array on success, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>class_parents()</strong>
   * <strong>get_declared_traits()</strong>


id: classkit_import
type: function
doc:
<comment>Description:</comment>
  Import new class method definitions from a file
  
  Această funcție nu poate fi
  utilizată pentru a manipula metoda care la moment rulează, sau este înlănțuită.
  
  Această funcție este EXPERIMENTALĂ.
  Comportamentul acestei funcții, denumirea sa și orice alte aspecte documentate
  în privința acestei funcții pot să fie modificate fără preaviz într-o versiune
  viitoare a PHP. Utilizați această funcție la propriul risc.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  The filename of the class method definitions to import

<comment>Return:</comment>
  <info>array</info>  Associative array of imported methods

<comment>See Also:</comment>
   * <strong>classkit_method_add()</strong>
   * <strong>classkit_method_copy()</strong>


id: classkit_method_add
type: function
doc:
<comment>Description:</comment>
  Dynamically adds a new method to a given class
  
  Această funcție este EXPERIMENTALĂ.
  Comportamentul acestei funcții, denumirea sa și orice alte aspecte documentate
  în privința acestei funcții pot să fie modificate fără preaviz într-o versiune
  viitoare a PHP. Utilizați această funcție la propriul risc.

<comment>Param:</comment>
  <info>string</info>  <strong>$classname </strong>  The class to which this method will be added
  <info>string</info>  <strong>$methodname</strong>  The name of the method to add
  <info>string</info>  <strong>$args      </strong>  Comma-delimited list of arguments for the newly-created method
  <info>string</info>  <strong>$code      </strong>  The code to be evaluated when <strong>$methodname</strong> is called
  <info>int   </info>  <strong>$flags     </strong>  The type of method to create, can be <info>CLASSKIT_ACC_PUBLIC</info>,
                       <info>CLASSKIT_ACC_PROTECTED</info> or <info>CLASSKIT_ACC_PRIVATE</info>
                       
                       This parameter is only used as of PHP 5, because, prior to this, all methods
                       were public.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>classkit_method_copy()</strong>
   * <strong>classkit_method_redefine()</strong>
   * <strong>classkit_method_remove()</strong>
   * <strong>classkit_method_rename()</strong>
   * <strong>create_function()</strong>


id: classkit_method_copy
type: function
doc:
<comment>Description:</comment>
  Copies a method from class to another
  
  Această funcție este EXPERIMENTALĂ.
  Comportamentul acestei funcții, denumirea sa și orice alte aspecte documentate
  în privința acestei funcții pot să fie modificate fără preaviz într-o versiune
  viitoare a PHP. Utilizați această funcție la propriul risc.

<comment>Param:</comment>
  <info>string</info>  <strong>$dClass </strong>  Destination class for copied method
  <info>string</info>  <strong>$dMethod</strong>  Destination method name
  <info>string</info>  <strong>$sClass </strong>  Source class of the method to copy
  <info>string</info>  <strong>$sMethod</strong>  Name of the method to copy from the source class. If this parameter is omitted,
                    the value of <strong>$dMethod</strong> is assumed.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>classkit_method_add()</strong>
   * <strong>classkit_method_redefine()</strong>
   * <strong>classkit_method_remove()</strong>
   * <strong>classkit_method_rename()</strong>


id: classkit_method_redefine
type: function
doc:
<comment>Description:</comment>
  Dynamically changes the code of the given method
  
  Această funcție nu poate fi
  utilizată pentru a manipula metoda care la moment rulează, sau este înlănțuită.
  
  Această funcție este EXPERIMENTALĂ.
  Comportamentul acestei funcții, denumirea sa și orice alte aspecte documentate
  în privința acestei funcții pot să fie modificate fără preaviz într-o versiune
  viitoare a PHP. Utilizați această funcție la propriul risc.

<comment>Param:</comment>
  <info>string</info>  <strong>$classname </strong>  The class in which to redefine the method
  <info>string</info>  <strong>$methodname</strong>  The name of the method to redefine
  <info>string</info>  <strong>$args      </strong>  Comma-delimited list of arguments for the redefined method
  <info>string</info>  <strong>$code      </strong>  The new code to be evaluated when <strong>$methodname</strong> is called
  <info>int   </info>  <strong>$flags     </strong>  The redefined method can be <info>CLASSKIT_ACC_PUBLIC</info>, <info>CLASSKIT_ACC_PROTECTED</info> or
                       <info>CLASSKIT_ACC_PRIVATE</info>
                       
                       This parameter is only used as of PHP 5, because, prior to this, all methods
                       were public.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>classkit_method_add()</strong>
   * <strong>classkit_method_copy()</strong>
   * <strong>classkit_method_remove()</strong>
   * <strong>classkit_method_rename()</strong>


id: classkit_method_remove
type: function
doc:
<comment>Description:</comment>
  Dynamically removes the given method
  
  Această funcție nu poate fi
  utilizată pentru a manipula metoda care la moment rulează, sau este înlănțuită.
  
  Această funcție este EXPERIMENTALĂ.
  Comportamentul acestei funcții, denumirea sa și orice alte aspecte documentate
  în privința acestei funcții pot să fie modificate fără preaviz într-o versiune
  viitoare a PHP. Utilizați această funcție la propriul risc.

<comment>Param:</comment>
  <info>string</info>  <strong>$classname </strong>  The class in which to remove the method
  <info>string</info>  <strong>$methodname</strong>  The name of the method to remove

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>classkit_method_add()</strong>
   * <strong>classkit_method_copy()</strong>
   * <strong>classkit_method_redefine()</strong>
   * <strong>classkit_method_rename()</strong>


id: classkit_method_rename
type: function
doc:
<comment>Description:</comment>
  Dynamically changes the name of the given method
  
  Această funcție nu poate fi
  utilizată pentru a manipula metoda care la moment rulează, sau este înlănțuită.
  
  Această funcție este EXPERIMENTALĂ.
  Comportamentul acestei funcții, denumirea sa și orice alte aspecte documentate
  în privința acestei funcții pot să fie modificate fără preaviz într-o versiune
  viitoare a PHP. Utilizați această funcție la propriul risc.

<comment>Param:</comment>
  <info>string</info>  <strong>$classname </strong>  The class in which to rename the method
  <info>string</info>  <strong>$methodname</strong>  The name of the method to rename
  <info>string</info>  <strong>$newname   </strong>  The new name to give to the renamed method

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>classkit_method_add()</strong>
   * <strong>classkit_method_copy()</strong>
   * <strong>classkit_method_redefine()</strong>
   * <strong>classkit_method_remove()</strong>


id: clearstatcache
type: function
doc:
<comment>Description:</comment>
  Clears file status cache
  
  When you use <strong>stat()</strong>, <strong>lstat()</strong>, or any of the other functions listed in the affected functions list
  (below), PHP caches the information those functions return in order to provide faster performance.
  However, in certain cases, you may want to clear the cached information. For instance, if the same
  file is being checked multiple times within a single script, and that file is in danger of being
  removed or changed during that script's operation, you may elect to clear the status cache.  In
  these cases, you can use the <strong>clearstatcache()</strong> function to clear the information that PHP caches
  about a file.
  
  You should also note that PHP doesn't cache information about non-existent files. So, if you call
  <strong>file_exists()</strong> on a file that doesn't exist, it will return <info>false</info> until you create the file. If you
  create the file, it will return <info>true</info> even if you then delete the file. However <strong>unlink()</strong> clears the
  cache automatically.
  
  This function caches information about specific filenames, so you only need to call
  <strong>clearstatcache()</strong> if you are performing multiple operations on the same filename and require the
  information about that particular file to not be cached.
  
  Affected functions include <strong>stat()</strong>, <strong>lstat()</strong>, <strong>file_exists()</strong>, <strong>is_writable()</strong>, <strong>is_readable()</strong>,
  <strong>is_executable()</strong>, <strong>is_file()</strong>, <strong>is_dir()</strong>, <strong>is_link()</strong>, <strong>filectime()</strong>, <strong>fileatime()</strong>, <strong>filemtime()</strong>,
  <strong>fileinode()</strong>, <strong>filegroup()</strong>, <strong>fileowner()</strong>, <strong>filesize()</strong>, <strong>filetype()</strong>, and <strong>fileperms()</strong>.

<comment>Param:</comment>
  <info>bool  </info>  <strong>$clear_realpath_cache</strong>  Whether to clear the realpath cache or not.
  <info>string</info>  <strong>$filename            </strong>  Clear the realpath and the stat cache for a specific filename only;
                                 only used if <strong>$clear_realpath_cache</strong> is <info>true</info>.

<comment>Return:</comment>
  <info>void</info>  Nu este întoarsă nici o valoare.


id: cli_get_process_title
type: function
doc:
<comment>Description:</comment>
  Returns the current process title
  
  Returns the current process title, as set by <strong>cli_set_process_title()</strong>. Note that this may not
  exactly match what is shown in ps or top, depending on your operating system.
  
  This function is available only in CLI mode.

<comment>Return:</comment>
  <info>stringnull</info>  Return a string with the current process title or <info>null</info> on error.

<comment>See Also:</comment>
   * <strong>cli_set_process_title()</strong>


id: cli_set_process_title
type: function
doc:
<comment>Description:</comment>
  Sets the process title
  
  Sets the process title visible in tools such as top and ps. This function is available only in CLI
  mode.

<comment>Param:</comment>
  <info>string</info>  <strong>$title</strong>  The new title.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>cli_get_process_title()</strong>
   * <strong>setproctitle()</strong>


id: closedir
type: function
doc:
<comment>Description:</comment>
  Close directory handle
  
  Closes the directory stream indicated by <strong>$dir_handle</strong>. The stream must have previously been opened
  by <strong>opendir()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$dir_handle</strong>  The directory handle <info>resource</info> previously opened with <strong>opendir()</strong>. If the
                         directory handle is  not specified, the last link opened by <strong>opendir()</strong>  is
                         assumed.

<comment>Return:</comment>
  <info>void</info>  


id: closelog
type: function
doc:
<comment>Description:</comment>
  Close connection to system logger
  
  <strong>closelog()</strong> closes the descriptor being used to write to the system logger.  The use of <strong>closelog()</strong>
  is optional.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>syslog()</strong>
   * <strong>openlog()</strong>


id: com
type: class
doc:
<comment>Description:</comment>
  The com class allows you to instantiate an OLE compatible COM object and call its methods and
  access its properties.


id: com::__construct
type: function
doc:
<comment>Description:</comment>
  com class constructor
  
  Constructs a new com object.

<comment>Param:</comment>
  <info>string         </info>  <strong>$module_name</strong>  Can be a ProgID, Class ID or Moniker that names the component to
                                 load.
                                 
                                 A ProgID is typically the application or DLL name, followed by a
                                 period, followed by the object name. e.g: <return>Word.Application</return>.
                                 
                                 A Class ID is the UUID that uniquely identifies a given class.
                                 
                                 A Moniker is a special form of naming, similar in concept to a URL
                                 scheme, that identifies a resource and specifies how it should be
                                 loaded.  As an example, you could load up Word and get an object
                                 representing a word document by specifying the full path to the
                                 word document as the module name, or you can use <return>LDAP:</return> as a moniker
                                 to use the ADSI interface to LDAP.
  <info>arraystringnull</info>  <strong>$server_name</strong>  The name of the DCOM server on which the component should be loaded
                                 and run.  If <info>null</info>, the object is run using the default for the
                                 application.  The default is typically to run it on the local
                                 machine, although the administrator might have configured the
                                 application to launch on a different machine.
                                 
                                 If you specify a non-<info>null</info> value for server, PHP will refuse to load
                                 the object unless the  configuration option is set to <info>true</info>.
                                 
                                 If <strong>$server_name</strong> is an array, it should contain the following
                                 elements (case sensitive!).  Note that they are all optional
                                 (although you need to specify both Username and Password together);
                                 if you omit the Server setting, the default server will be used (as
                                 mentioned above), and the instantiation of the object will not be
                                 affected by the  directive. DCOM server
                                 namekeytypedescriptionServerstringThe name of the
                                 server.UsernamestringThe username to connect as.PasswordstringThe
                                 password for <return>Username</return>.DomainstringThe domain of
                                 <return>server</return>.FlagsintegerOne or more of the following constants,
                                 logically OR'd together: <info>CLSCTX_INPROC_SERVER</info>,
                                 <info>CLSCTX_INPROC_HANDLER</info>, <info>CLSCTX_LOCAL_SERVER</info>, <info>CLSCTX_REMOTE_SERVER</info>,
                                 <info>CLSCTX_SERVER</info> and <info>CLSCTX_ALL</info>.  The default value if not specified
                                 here is <info>CLSCTX_SERVER</info> if you also omit <return>Server</return>, or
                                 <info>CLSCTX_REMOTE_SERVER</info> if you do specify a server.  You should
                                 consult the Microsoft documentation for CoCreateInstance for more
                                 information on the meaning of these constants; you will typically
                                 never have to use them.
  <info>int            </info>  <strong>$codepage   </strong>  Specifies the codepage that is used to convert strings to
                                 unicode-strings and vice versa.  The conversion is applied whenever
                                 a PHP string is passed as a parameter or returned from a method of
                                 this COM object.  The code page is sticky, which means that it will
                                 propagate to objects and variants returned from the object.
                                 
                                 Possible values are <info>CP_ACP</info> (use system default ANSI code page - the
                                 default if this parameter is omitted), <info>CP_MACCP</info>, <info>CP_OEMCP</info>,
                                 <info>CP_SYMBOL</info>, <info>CP_THREAD_ACP</info> (use codepage/locale set for the current
                                 executing thread), <info>CP_UTF7</info> and <info>CP_UTF8</info>.  You may also use the
                                 number for a given codepage; consult the Microsoft documentation
                                 for more details on codepages and their numeric values.


id: com_create_guid
type: function
doc:
<comment>Description:</comment>
  Generate a globally unique identifier (GUID)
  
  Generates a Globally Unique Identifier (GUID).
  
  A GUID is generated in the same way as DCE UUID's, except that the Microsoft convention is to
  enclose a GUID in curly braces.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the GUID as a string,  sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>uuid_create()</strong> in the PECL uuid extension


id: com_event_sink
type: function
doc:
<comment>Description:</comment>
  Connect events from a COM object to a PHP object
  
  Instructs COM to sink events generated by <strong>$variant</strong> into the PHP object <strong>$sink_object</strong>.
  
  Be careful how you use this feature; if you are doing something similar to the example below, then
  it doesn't really make sense to run it in a web server context.

<comment>Param:</comment>
  <info>variant        </info>  <strong>$variant       </strong>  
  <info>object         </info>  <strong>$sink_object   </strong>  <strong>$sink_object</strong> should be an instance of a class with methods named
                                    after those of the desired dispinterface; you may use
                                    <strong>com_print_typeinfo()</strong> to help generate a template class for this
                                    purpose.
  <info>arraystringnull</info>  <strong>$sink_interface</strong>  PHP will attempt to use the default dispinterface type specified
                                    by the typelibrary associated with <strong>$variant</strong>, but you may
                                    override this choice by setting <strong>$sink_interface</strong> to the name of
                                    the dispinterface that you want to use.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>com_print_typeinfo()</strong>
   * <strong>com_message_pump()</strong>


id: com_get_active_object
type: function
doc:
<comment>Description:</comment>
  Returns a handle to an already running instance of a COM object
  
  <strong>com_get_active_object()</strong> is similar to creating a new instance of a  object, except that it will
  only return an object to your script if the object is already running. OLE applications use
  something known as the "<return>Running Object Table</return>" to allow well-known applications to be launched only
  once; this function exposes the COM library function GetActiveObject() to get a handle on a
  running instance.

<comment>Param:</comment>
  <info>string </info>  <strong>$prog_id </strong>  <strong>$prog_id</strong> must be either the ProgID or CLSID for the object that you want to
                      access (for example <return>Word.Application</return>).
  <info>intnull</info>  <strong>$codepage</strong>  Acts in precisely the same way that it does for the  class.

<comment>Return:</comment>
  <info>variant</info>  If the requested object is running, it will be returned to your script just like any
           other COM object.


id: com_load_typelib
type: function
doc:
<comment>Description:</comment>
  Loads a Typelib
  
  Loads a type-library and registers its constants in the engine, as though they were defined using
  <strong>define()</strong>.
  
  Note that it is much more efficient to use the  configuration setting to pre-load and register the
  constants, although not so flexible.
  
  If you have turned on , then PHP will attempt to automatically register the constants associated
  with a COM object when you instantiate it.  This depends on the interfaces provided by the COM
  object itself, and may not always be possible.

<comment>Param:</comment>
  <info>string</info>  <strong>$typelib         </strong>  <strong>$typelib</strong> can be one of the following:  The filename of a <return>.tlb</return> file or
                             the executable module that contains the type library.  The type library
                             GUID, followed by its version number, for example
                             <return>{00000200-0000-0010-8000-00AA006D2EA4},2,0</return>.  The type library name,
                             e.g. <return>Microsoft OLE DB ActiveX Data Objects 1.0 Library</return>.  PHP will
                             attempt to resolve the type library in this order, as the process gets
                             more and more expensive as you progress down the list; searching for
                             the type library by name is handled by physically enumerating the
                             registry until we find a match.
                             
                             The filename of a <return>.tlb</return> file or the executable module that contains the
                             type library.
                             
                             The type library GUID, followed by its version number, for example
                             <return>{00000200-0000-0010-8000-00AA006D2EA4},2,0</return>.
                             
                             The type library name, e.g. <return>Microsoft OLE DB ActiveX Data Objects 1.0
                             Library</return>.
  <info>bool  </info>  <strong>$case_insensitive</strong>  The <strong>$case_insensitive</strong> behaves inversely to the parameter
                             <return>$case_insensitive</return> in the <strong>define()</strong> function.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: com_message_pump
type: function
doc:
<comment>Description:</comment>
  Process COM messages, sleeping for up to timeoutms milliseconds
  
  This function will sleep for up to <strong>$timeout_milliseconds</strong> milliseconds, or until a message arrives
  in the queue.
  
  The purpose of this function is to route COM calls between apartments and handle various
  synchronization issues.  This allows your script to wait efficiently for events to be triggered,
  while still handling other events or running other code in the background.  You should use it in a
  loop, as demonstrated by the example in the <strong>com_event_sink()</strong> function, until you are finished
  using event bound COM objects.

<comment>Param:</comment>
  <info>int</info>  <strong>$timeout_milliseconds</strong>  The timeout, in milliseconds.
                              
                              If you do not specify a value for <strong>$timeout_milliseconds</strong>, then 0 will
                              be assumed.  A 0 value means that no waiting will be performed; if
                              there are messages pending they will be dispatched as before; if there
                              are no messages pending, the function will return <info>false</info> immediately
                              without sleeping.

<comment>Return:</comment>
  <info>bool</info>  If a message or messages arrives before the timeout, they will be dispatched, and the
        function will return <info>true</info>. If the timeout occurs and no messages were processed, the return
        value will be <info>false</info>.


id: com_print_typeinfo
type: function
doc:
<comment>Description:</comment>
  Print out a PHP class definition for a dispatchable interface
  
  The purpose of this function is to help generate a skeleton class for use as an event sink.  You
  may also use it to generate a dump of any COM object, provided that it supports enough of the
  introspection interfaces, and that you know the name of the interface you want to display.

<comment>Param:</comment>
  <info>variantstring</info>  <strong>$variant           </strong>  <strong>$variant</strong> should be either an instance of a COM object, or be
                                      the name of a typelibrary (which will be resolved according to
                                      the rules set out in <strong>com_load_typelib()</strong>).
  <info>stringnull   </info>  <strong>$dispatch_interface</strong>  The name of an <return>IDispatch</return> descendant interface that you want to
                                      display.
  <info>bool         </info>  <strong>$display_sink      </strong>  If set to <info>true</info>, the corresponding sink interface will be
                                      displayed instead.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>com_event_sink()</strong>
   * <strong>com_load_typelib()</strong>


id: compact
type: function
doc:
<comment>Description:</comment>
  Create array containing variables and their values
  
  Creates an array containing variables and their values.
  
  For each of these, <strong>compact()</strong> looks for a variable with that name in the current symbol table and
  adds it to the output array such that the variable name becomes the key and the contents of the
  variable become the value for that key. In short, it does the opposite of <strong>extract()</strong>.
  
  Before PHP 7.3, any strings that are not set will silently be skipped.

<comment>Param:</comment>
  <info>arraystring</info>  <strong>$var_name</strong>  <strong>compact()</strong> takes a variable number of parameters. Each parameter can be
                          either a string containing the name of the variable, or an array of
                          variable names.  The array can contain other arrays of variable names
                          inside it; <strong>compact()</strong> handles it recursively.

<comment>Return:</comment>
  <info>array</info>  Returns the output array with all the variables added to it.

<comment>See Also:</comment>
   * <strong>extract()</strong>


id: connection_aborted
type: function
doc:
<comment>Description:</comment>
  Check whether client disconnected
  
  Checks whether the client disconnected.

<comment>Return:</comment>
  <info>int</info>  Returns 1 if client disconnected, 0 otherwise.

<comment>See Also:</comment>
   * <strong>connection_status()</strong>
   * <strong>ignore_user_abort()</strong>
   * Connection Handling
     for a complete description of connection handling in PHP.
    


id: connection_status
type: function
doc:
<comment>Description:</comment>
  Returns connection status bitfield
  
  Gets the connection status bitfield.

<comment>Return:</comment>
  <info>int</info>  Returns the connection status bitfield, which can be used against the <return>CONNECTION_XXX</return>
       constants to determine the connection status.

<comment>See Also:</comment>
   * <strong>connection_aborted()</strong>
   * <strong>ignore_user_abort()</strong>
   * Connection Handling
     for a complete description of connection handling in PHP.
    


id: constant
type: function
doc:
<comment>Description:</comment>
  Returns the value of a constant
  
  Return the value of the constant indicated by <strong>$name</strong>.
  
  <strong>constant()</strong> is useful if you need to retrieve the value of a constant, but do not know its name.
  I.e. it is stored in a variable or returned by a function.
  
  This function works also with class constants.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  The constant name.

<comment>Return:</comment>
  <info>mixed</info>  Returns the value of the constant, or <info>null</info> if the constant is not defined.

<comment>See Also:</comment>
   * <strong>define()</strong>
   * <strong>defined()</strong>
   * The section on Constants


id: convert_cyr_string
type: function
doc:
<comment>Description:</comment>
  Convert from one Cyrillic character set to another
  
  Converts from one Cyrillic character set to another.

<comment>Param:</comment>
  <info>string</info>  <strong>$str </strong>  The string to be converted.
  <info>string</info>  <strong>$from</strong>  The source Cyrillic character set, as a single character.
  <info>string</info>  <strong>$to  </strong>  The target Cyrillic character set, as a single character.

<comment>Return:</comment>
  <info>string</info>  Returns the converted string.

<comment>See Also:</comment>
   * <strong>mb_convert_encoding()</strong>
   * <strong>iconv()</strong>


id: convert_uudecode
type: function
doc:
<comment>Description:</comment>
  Decode a uuencoded string
  
  <strong>convert_uudecode()</strong> decodes a uuencoded string.
  
  <strong>convert_uudecode()</strong> neither accepts the <return>begin</return> nor the <return>end</return> line, which are part of uuencoded files.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  The uuencoded data.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the decoded data as a string  sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>convert_uuencode()</strong>


id: convert_uuencode
type: function
doc:
<comment>Description:</comment>
  Uuencode a string
  
  <strong>convert_uuencode()</strong> encodes a string using the uuencode algorithm.
  
  Uuencode translates all strings (including binary data) into printable characters, making them
  safe for network transmissions. Uuencoded data is about 35% larger than the original.
  
  <strong>convert_uuencode()</strong> neither produces the <return>begin</return> nor the <return>end</return> line, which are part of uuencoded files.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  The data to be encoded.

<comment>Return:</comment>
  <info>string</info>  Returns the uuencoded data.

<comment>See Also:</comment>
   * <strong>convert_uudecode()</strong>
   * <strong>base64_encode()</strong>


id: copy
type: function
doc:
<comment>Description:</comment>
  Copies file
  
  Makes a copy of the file <strong>$source</strong> to <strong>$dest</strong>.
  
  If you wish to move a file, use the <strong>rename()</strong> function.

<comment>Param:</comment>
  <info>string  </info>  <strong>$source </strong>  Path to the source file.
  <info>string  </info>  <strong>$dest   </strong>  The destination path. If <strong>$dest</strong> is a URL, the copy operation may fail if the
                      wrapper does not support overwriting of existing files.
                      
                      If the destination file already exists, it will be overwritten.
  <info>resource</info>  <strong>$context</strong>  A valid context resource created with  <strong>stream_context_create()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>move_uploaded_file()</strong>
   * <strong>rename()</strong>
   * The section of the manual about handling file uploads


id: cos
type: function
doc:
<comment>Description:</comment>
  Cosine
  
  <strong>cos()</strong> returns the cosine of the <strong>$num</strong> parameter.  The <strong>$num</strong> parameter is in radians.

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  An angle in radians

<comment>Return:</comment>
  <info>float</info>  The cosine of <strong>$num</strong>

<comment>See Also:</comment>
   * <strong>acos()</strong>
   * <strong>sin()</strong>
   * <strong>tan()</strong>
   * <strong>deg2rad()</strong>


id: cosh
type: function
doc:
<comment>Description:</comment>
  Hyperbolic cosine
  
  Returns the hyperbolic cosine of <strong>$num</strong>, defined as <return>(exp(arg) + exp(-arg))/2</return>.

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  The argument to process

<comment>Return:</comment>
  <info>float</info>  The hyperbolic cosine of <strong>$num</strong>

<comment>See Also:</comment>
   * <strong>cos()</strong>
   * <strong>acosh()</strong>
   * <strong>sinh()</strong>
   * <strong>tanh()</strong>


id: count
type: function
doc:
<comment>Description:</comment>
  Count all elements in an array, or something in an object
  
  Counts all elements in an array, or something in an object.
  
  For objects, if you have SPL installed, you can hook into <strong>count()</strong> by implementing interface
  <class>Countable</class>. The interface has exactly one method, Countable::count, which returns the return value
  for the <strong>count()</strong> function.
  
  Please see the Array section of the manual for a detailed explanation of how arrays are
  implemented and used in PHP.

<comment>Param:</comment>
  <info>Countablearray</info>  <strong>$value</strong>  An array or <class>Countable</class> object.
  <info>int           </info>  <strong>$mode </strong>  If the optional <strong>$mode</strong> parameter is set to <info>COUNT_RECURSIVE</info> (or 1), <strong>count()</strong>
                          will recursively count the array.  This is particularly useful for
                          counting all the elements of a multidimensional array.
                          
                          <strong>count()</strong> can detect recursion to avoid an infinite loop, but will emit an
                          <info>E_WARNING</info> every time it does (in case the array contains itself more than
                          once) and return a count higher than may be expected.

<comment>Return:</comment>
  <info>int</info>  Returns the number of elements in <strong>$value</strong>. When the parameter is neither an array nor an
       object with implemented <class>Countable</class> interface, <return>1</return> will be returned. There is one exception, if
       <strong>$value</strong> is <info>null</info>, <return>0</return> will be returned.

<comment>See Also:</comment>
   * <strong>is_array()</strong>
   * <strong>isset()</strong>
   * <strong>empty()</strong>
   * <strong>strlen()</strong>
   * <strong>is_countable()</strong>


id: count_chars
type: function
doc:
<comment>Description:</comment>
  Return information about characters used in a string
  
  Counts the number of occurrences of every byte-value (0..255) in <strong>$string</strong> and returns it in various
  ways.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  The examined string.
  <info>int   </info>  <strong>$mode  </strong>  See return values.

<comment>Return:</comment>
  <info>arraystring</info>  Depending on <strong>$mode</strong> <strong>count_chars()</strong> returns one of the following:  0 - an array with the
               byte-value as key and the frequency of every byte as value.  1 - same as 0 but only
               byte-values with a frequency greater than zero are listed.  2 - same as 0 but only
               byte-values with a frequency equal to zero are listed.  3 - a string containing all
               unique characters is returned.  4 - a string containing all not used characters is
               returned.
               
               0 - an array with the byte-value as key and the frequency of every byte as value.
               
               1 - same as 0 but only byte-values with a frequency greater than zero are listed.
               
               2 - same as 0 but only byte-values with a frequency equal to zero are listed.
               
               3 - a string containing all unique characters is returned.
               
               4 - a string containing all not used characters is returned.

<comment>See Also:</comment>
   * <strong>strpos()</strong>
   * <strong>substr_count()</strong>


id: counter_bump
type: function
doc:
<comment>Description:</comment>
  Update the current value of the basic counter
       
  
  <strong>counter_bump()</strong> updates the current value of the basic interface's counter.

<comment>Param:</comment>
  <info>int</info>  <strong>$offset</strong>  The amount by which to change the counter's value. Can be negative.

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * <strong>counter_get()</strong>
   * <strong>counter_reset()</strong>


id: counter_bump_value
type: function
doc:
<comment>Description:</comment>
  Change the current value of a counter resource
       
  
  <strong>counter_bump_value()</strong> updates the current value of a counter resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$counter</strong>  The counter resource to operate on.
  <info>int     </info>  <strong>$offset </strong>  The amount by which to change the counter's value. Can be negative.

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * <strong>counter_get_value()</strong>
   * <strong>counter_reset_value()</strong>


id: counter_create
type: function
doc:
<comment>Description:</comment>
  Creates a counter which maintains a single numeric value
       
  
  Creates a counter which maintains a single numeric value.

<comment>Return:</comment>
  <info>resource</info>  Returns a counter resource.


id: counter_get
type: function
doc:
<comment>Description:</comment>
  Get the current value of the basic counter
       
  
  <strong>counter_get()</strong> returns the current value of the basic interface's counter.

<comment>Return:</comment>
  <info>int</info>  <strong>counter_get()</strong> returns an integer.

<comment>See Also:</comment>
   * <strong>counter_bump()</strong>
   * <strong>counter_reset()</strong>


id: counter_get_meta
type: function
doc:
<comment>Description:</comment>
  Return a piece of metainformation about a counter resource
       
  
  <strong>counter_get_meta()</strong> returns metainformation about a counter resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$counter  </strong>  The counter resource to operate on.
  <info>int     </info>  <strong>$attribute</strong>  The metainformation to retrieve.

<comment>Return:</comment>
  <info>mixed</info>  <strong>counter_get_meta()</strong> returns values of varying types based on which metainformation was
         requested.


id: counter_get_named
type: function
doc:
<comment>Description:</comment>
  Retrieve an existing named counter as a resource
       
  
  <strong>counter_get_named()</strong> returns an existing counter by name if that name exists, or <info>null</info> otherwise.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  The counter name to search for.

<comment>Return:</comment>
  <info>resource</info>  <strong>counter_get_name()</strong> returns an existing counter by name if that name exists, or <info>null</info>
            otherwise.


id: counter_get_value
type: function
doc:
<comment>Description:</comment>
  Get the current value of a counter resource
       
  
  <strong>counter_get_value()</strong> returns the current value of a counter resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$counter</strong>  The counter resource to operate on.

<comment>Return:</comment>
  <info>int</info>  <strong>counter_get_value()</strong> returns an integer.

<comment>See Also:</comment>
   * <strong>counter_bump_value()</strong>
   * <strong>counter_reset_value()</strong>


id: counter_reset
type: function
doc:
<comment>Description:</comment>
  Reset the current value of the basic counter
       
  
  <strong>counter_reset()</strong> resets the current value of the basic interface's counter to its original initial
  value.

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * <strong>counter_get()</strong>
   * <strong>counter_bump()</strong>


id: counter_reset_value
type: function
doc:
<comment>Description:</comment>
  Reset the current value of a counter resource
       
  
  <strong>counter_reset_value()</strong> resets the current value of a counter resource to its original initial
  value.

<comment>Param:</comment>
  <info>resource</info>  <strong>$counter</strong>  The counter resource to operate on.

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * <strong>counter_get_value()</strong>
   * <strong>counter_bump_value()</strong>


id: crc32
type: function
doc:
<comment>Description:</comment>
  Calculates the crc32 polynomial of a string
  
  Generates the cyclic redundancy checksum polynomial of 32-bit lengths of the <strong>$string</strong>. This is
  usually used to validate the integrity of data being transmitted.
  
  Because PHP's integer type is signed many crc32 checksums will result in negative integers on
  32bit platforms. On 64bit installations all <strong>crc32()</strong> results will be positive integers though.
  
  So you need to use the "%u" formatter of <strong>sprintf()</strong> or  <strong>printf()</strong> to get the string representation
  of the  unsigned <strong>crc32()</strong> checksum in decimal format.
  
  For a hexadecimal representation of the checksum you can either use the  "%x" formatter of
  <strong>sprintf()</strong> or <strong>printf()</strong>  or the <strong>dechex()</strong> conversion functions, both of these also take care of
  converting the <strong>crc32()</strong> result to an unsigned integer.
  
  Having 64bit installations also return negative integers for higher result values was considered
  but would break the hexadecimal conversion as negatives would get an extra 0xFFFFFFFF########
  offset then. As  hexadecimal representation seems to be the most common use case we decided to not
  break this even if it breaks direct decimal comparisons in about 50% of the cases when moving from
  32 to 64bits.
  
  In retrospect having the function return an integer maybe wasn't the  best idea and returning a
  hex string representation right away (as  e.g. <strong>md5()</strong> does) might have been a better plan to begin
  with.
  
  For a more portable solution you may also consider the generic  <strong>hash()</strong>. hash("crc32b", $str) will
  return the same string as str_pad(dechex(crc32($str)), 8, '0', STR_PAD_LEFT).

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  The data.

<comment>Return:</comment>
  <info>int</info>  Returns the crc32 checksum of <strong>$string</strong> as an integer.

<comment>See Also:</comment>
   * <strong>hash()</strong>
   * <strong>md5()</strong>
   * <strong>sha1()</strong>


id: create_function
type: function
doc:
<comment>Description:</comment>
  Create an anonymous (lambda-style) function
  
  Creates an anonymous function from the parameters passed, and returns a unique name for it.
  
  This function internally performs an <strong>eval()</strong> and as such has the same security issues as <strong>eval()</strong>.
  Additionally it has bad performance and memory usage characteristics.
  
  If you are using PHP 5.3.0 or newer a native anonymous function should be used instead.

<comment>Param:</comment>
  <info>string</info>  <strong>$args</strong>  The function arguments.
  <info>string</info>  <strong>$code</strong>  The function code.

<comment>Return:</comment>
  <info>string</info>  Returns a unique function name as a string, or <info>false</info> on error.

<comment>See Also:</comment>
   * Anonymous functions


id: crypt
type: function
doc:
<comment>Description:</comment>
  One-way string hashing
  
  <strong>crypt()</strong> will return a hashed string using the standard Unix DES-based algorithm or alternative
  algorithms that may be available on the system.
  
  The <strong>$salt</strong> parameter is optional. However, <strong>crypt()</strong> creates a weak hash without the <strong>$salt</strong>. PHP 5.6
  or later raise an E_NOTICE error without it. Make sure to specify a strong enough salt for better
  security.
  
  <strong>password_hash()</strong> uses a strong hash, generates a strong salt, and applies proper rounds
  automatically. <strong>password_hash()</strong> is a simple <strong>crypt()</strong> wrapper and compatible with existing password
  hashes. Use of <strong>password_hash()</strong> is encouraged.
  
  Some operating systems support more than one type of hash.  In fact, sometimes the standard
  DES-based algorithm is replaced by an MD5-based algorithm.  The hash type is triggered by the salt
  argument. Prior to 5.3, PHP would determine the available algorithms at install-time based on the
  system's crypt(). If no salt is provided, PHP will auto-generate either a standard two character
  (DES) salt, or a twelve character (MD5), depending on the availability of MD5 crypt().  PHP sets a
  constant named <info>CRYPT_SALT_LENGTH</info> which indicates the longest valid salt allowed by the available
  hashes.
  
  The standard DES-based <strong>crypt()</strong> returns the salt as the first two characters of the output. It also
  only uses the first eight characters of <strong>$str</strong>, so longer strings that start with the same eight
  characters will generate the same result (when the same salt is used).
  
  On systems where the crypt() function supports multiple hash types, the following constants are
  set to 0 or 1 depending on whether the given type is available:
  
  <info>CRYPT_STD_DES</info> - Standard DES-based hash with a two character salt from the alphabet "./0-9A-Za-z".
  Using invalid characters in the salt will cause crypt() to fail.
  
  <info>CRYPT_EXT_DES</info> - Extended DES-based hash. The "salt" is a 9-character string consisting of an
  underscore followed by 4 bytes of iteration count and 4 bytes of salt. These are encoded as
  printable characters, 6 bits per character, least significant character first. The values 0 to 63
  are encoded as "./0-9A-Za-z". Using invalid characters in the salt will cause crypt() to fail.
  
  <info>CRYPT_MD5</info> - MD5 hashing with a twelve character salt starting with $1$
  
  <info>CRYPT_BLOWFISH</info> - Blowfish hashing with a salt as follows: "$2a$", "$2x$" or "$2y$", a two digit
  cost parameter, "$", and 22 characters from the alphabet "./0-9A-Za-z". Using characters outside
  of this range in the salt will cause crypt() to return a zero-length string. The two digit cost
  parameter is the base-2 logarithm of the iteration count for the underlying Blowfish-based hashing
  algorithmeter and must be in range 04-31, values outside this range will cause crypt() to fail.
  Versions of PHP before 5.3.7 only support "$2a$" as the salt prefix: PHP 5.3.7 introduced the new
  prefixes to fix a security weakness in the Blowfish implementation.  Please refer to this document
  for full details of the security fix, but to summarise, developers targeting only PHP 5.3.7 and
  later should use "$2y$" in preference to "$2a$".
  
  <info>CRYPT_SHA256</info> - SHA-256 hash with a sixteen character salt prefixed with $5$. If the salt string
  starts with 'rounds=\<N&gt;$', the numeric value of N is used to indicate how many times the hashing loop should be executed, much like the cost parameter on Blowfish. The default number of rounds is 5000, there is a minimum of 1000 and a maximum of 999,999,999. Any selection of N outside this range will be truncated to the nearest limit.
  
  <info>CRYPT_SHA512</info> - SHA-512 hash with a sixteen character salt prefixed with $6$. If the salt string
  starts with 'rounds=\<N&gt;$', the numeric value of N is used to indicate how many times the hashing loop should be executed, much like the cost parameter on Blowfish. The default number of rounds is 5000, there is a minimum of 1000 and a maximum of 999,999,999. Any selection of N outside this range will be truncated to the nearest limit.
  
  As of PHP 5.3.0, PHP contains its own implementation and will use that if the system lacks of
  support for one or more of the algorithms.

<comment>Param:</comment>
  <info>string</info>  <strong>$str </strong>  The string to be hashed.
                 
                 Using the <info>CRYPT_BLOWFISH</info> algorithm, will result in the <strong>$str</strong> parameter being
                 truncated to a maximum length of 72 characters.
  <info>string</info>  <strong>$salt</strong>  An optional salt string to base the hashing on. If not provided, the behaviour is
                 defined by the algorithm implementation and can lead to unexpected results.

<comment>Return:</comment>
  <info>string</info>  Returns the hashed string or a string that is shorter than 13 characters and is guaranteed
          to differ from the salt on failure.
          
          When validating passwords, a string comparison function that isn't vulnerable to timing
          attacks should be used to compare the output of <strong>crypt()</strong> to the previously known hash. PHP
          5.6 onwards provides <strong>hash_equals()</strong> for this purpose.

<comment>See Also:</comment>
   * <strong>hash_equals()</strong>
   * <strong>password_hash()</strong>
   * <strong>md5()</strong>
   * The Mcrypt extension
   * The Unix man page for your crypt function for more information


