# php_manual

id: Ds\Hashable
type: class
doc:
<comment>Description:</comment>
  Hashable is an interface which allows objects to be used as keys. It’s an alternative to
  <strong>spl_object_hash()</strong>, which determines an object’s hash based on its handle: this means that two
  objects that are considered equal by an implicit definition would not treated as equal because
  they are not the same instance.
  
  <strong>hash()</strong> is used to return a scalar value to be used as the object's hash value, which determines
  where it goes in the hash table. While this value does not have to be unique, objects which are
  equal must have the same hash value.
  
  <strong>equals()</strong> is used to determine if two objects are equal. It's guaranteed that the comparing object
  will be an instance of the same class as the subject.


id: Ds\Hashable::equals
type: function
doc:
<comment>Description:</comment>
  Determines whether an object is equal to the current instance
  
  Determines whether another object is equal to the current instance.
  
  This method allows objects to be used as keys in structures such as <class>Ds\Map</class> and <class>Ds\Set</class>, or any
  other lookup structure that honors this interface.
  
  It's guaranteed that <strong>$obj</strong> is an instance of the same class.
  
  It's important that objects which are equal also have the same hash value. See
  <strong>Ds\Hashable::hash()</strong>.

<comment>Param:</comment>
  <info>object</info>  <strong>$obj</strong>  The object to compare the current instance to, which is always an instance of the
                same class.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> if equal, <info>false</info> otherwise.


id: Ds\Hashable::hash
type: function
doc:
<comment>Description:</comment>
  Returns a scalar value to be used as a hash value
  
  Returns a scalar value to be used as the hash value of the objects.
  
  While the hash value does not define equality, all objects that are equal according to
  <strong>Ds\Hashable::equals()</strong> must have the same hash value. Hash values of equal objects don't have to be
  unique, for example you could just return <info>true</info> for all objects and nothing would break - the only
  implication would be that hash tables then turn into linked lists because all your objects will be
  hashed to the same bucket. It's therefore very important that you pick a good hash value, such as
  an ID or email address.
  
  This method allows objects to be used as keys in structures such as <class>Ds\Map</class> and <class>Ds\Set</class>, or any
  other lookup structure that honors this interface.
  
  Do not pick a value that might change within the object, such as a public property. Hash table
  lookups would fail because the hash has changed.
  
  All objects that are equal must have the same hash value.

<comment>Return:</comment>
  <info>mixed</info>  A scalar value to be used as this object's hash value.


id: Ds\Map
type: class
doc:
<comment>Description:</comment>
  A Map is a sequential collection of key-value pairs, almost identical to an tableau used in a
  similar context. Keys can be any type, but must be unique. Values are replaced if added to the map
  using the same key.


id: Ds\Map::allocate
type: function
doc:
<comment>Description:</comment>
  Allocates enough memory for a required capacity
  
  Allocates enough memory for a required capacity.

<comment>Param:</comment>
  <info>int</info>  <strong>$capacity</strong>  The number of values for which capacity should be allocated.
                  
                  Capacity will stay the same if this value is less than or equal to the current
                  capacity.
                  
                  Capacity will always be rounded up to the nearest power of 2.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Map::apply
type: function
doc:
<comment>Description:</comment>
  Updates all values by applying a callback function to each value
  
  Updates all values by applying a <strong>$callback</strong> function to each value in the map.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>mixed</info>callback<info>mixed</info><strong>$key</strong><info>mixed</info><strong>$value</strong>
                       
                       A <info>callable</info> to apply to each value in the map.
                       
                       The callback should return what the value should be replaced by.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Map::clear
type: function
doc:
<comment>Description:</comment>
  Removes all values
  
  Removes all values from the map.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Map::copy
type: function
doc:
<comment>Description:</comment>
  Returns a shallow copy of the map
  
  Returns a shallow copy of the map.

<comment>Return:</comment>
  <info>Ds\Map</info>  Returns a shallow copy of the map.


id: Ds\Map::count
type: function
doc:
<comment>Description:</comment>
  Returns the number of values in the map
  
  See <strong>Countable::count()</strong>


id: Ds\Map::diff
type: function
doc:
<comment>Description:</comment>
  Creates a new map using keys that aren't in another map
  
  Returns the result of removing all keys from the current instance that are present in a given
  <strong>$map</strong>.
  
  A \ B = {x ∈ A | x ∉ B}

<comment>Param:</comment>
  <info>Ds\Map</info>  <strong>$map</strong>  The map containing the keys to exclude in the resulting map.

<comment>Return:</comment>
  <info>Ds\Map</info>  The result of removing all keys from the current instance that are present in a given
          <strong>$map</strong>.

<comment>See Also:</comment>
   * Complement on Wikipedia


id: Ds\Map::filter
type: function
doc:
<comment>Description:</comment>
  Creates a new map using a callable to determine which pairs to include
    
  
  Creates a new map using a <info>callable</info> to determine which pairs to include.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>bool</info>callback<info>mixed</info><strong>$key</strong><info>mixed</info><strong>$value</strong>
                       
                       Optional <info>callable</info> which returns <info>true</info> if the pair should be included, <info>false</info>
                       otherwise.
                       
                       If a callback is not provided, only values which are <info>true</info> (see converting to
                       boolean) will be included.

<comment>Return:</comment>
  <info>Ds\Map</info>  A new map containing all the pairs for which either the <strong>$callback</strong> returned <info>true</info>, or all
          values that convert to <info>true</info> if a <strong>$callback</strong> was not provided.


id: Ds\Map::first
type: function
doc:
<comment>Description:</comment>
  Returns the first pair in the map
  
  Returns the first pair in the map.

<comment>Return:</comment>
  <info>Ds\Pair</info>  The first pair in the map.


id: Ds\Map::get
type: function
doc:
<comment>Description:</comment>
  Returns the value for a given key
  
  Returns the value for a given key, or an optional default value if the key could not be found.
  
  Keys of type <info>object</info> are supported.
   If an object implements <class>Ds\Hashable</class>, equality will be determined by the object's equals function.
   If an object does not implement <class>Ds\Hashable</class>, objects must be references to the same instance to
  be considered equal.
  
  You can also use array syntax to access values by key, eg. $map["key"].
  
  Be careful when using array syntax. Scalar keys will be coerced to integers by the engine. For
  example, $map["1"] will attempt to access int(1), while $map-&gt;get("1") will correctly look up
  the string key.
  
  See Arrays.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$key</strong>      The key to look up.
  <info>mixed</info>  <strong>$default</strong>  The optional default value, returned if the key could not be found.

<comment>Return:</comment>
  <info>mixed</info>  The value mapped to the given <strong>$key</strong>, or the <strong>$default</strong> value if provided and the key could not
         be found in the map.


id: Ds\Map::hasKey
type: function
doc:
<comment>Description:</comment>
  Determines whether the map contains a given key
  
  Determines whether the map contains a given key.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$key</strong>  The key to look for.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the key could found, <info>false</info> otherwise.


id: Ds\Map::hasValue
type: function
doc:
<comment>Description:</comment>
  Determines whether the map contains a given value
  
  Determines whether the map contains a given value.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  The value to look for.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the value could found, <info>false</info> otherwise.


id: Ds\Map::intersect
type: function
doc:
<comment>Description:</comment>
  Creates a new map by intersecting keys with another map
  
  Creates a new map containing the pairs of the current instance whose keys are also present in the
  given <strong>$map</strong>.
   In other words, returns a copy of the current instance with all keys removed that are not also in
  the other <strong>$map</strong>.
  
  A ∩ B = {x : x ∈ A ∧ x ∈ B}
  
  Values from the current instance will be kept.

<comment>Param:</comment>
  <info>Ds\Map</info>  <strong>$map</strong>  The other map, containing the keys to intersect with.

<comment>Return:</comment>
  <info>Ds\Map</info>  The key intersection of the current instance and another <strong>$map</strong>.

<comment>See Also:</comment>
   * Intersection on Wikipedia


id: Ds\Map::isEmpty
type: function
doc:
<comment>Description:</comment>
  Returns whether the map is empty
  
  Returns whether the map is empty.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the map is empty, <info>false</info> otherwise.


id: Ds\Map::keys
type: function
doc:
<comment>Description:</comment>
  Returns a set of the map's keys
  
  Returns a set containing all the keys of the map, in the same order.

<comment>Return:</comment>
  <info>Ds\Set</info>  A <class>Ds\Set</class> containing all the keys of the map.


id: Ds\Map::ksort
type: function
doc:
<comment>Description:</comment>
  Sorts the map in-place by key
   
  
  Sorts the map in-place by key, using an optional <strong>$comparator</strong> function.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  La fonction de comparaison doit retourner un entier inférieur à, égal à, ou
                         supérieur
                         à 0 si le premier argument est considéré comme, respectivement, inférieur
                         à, égal à, ou supérieur au second.
                         
                         Retourner des valeurs non-entières à partir de la fonction
                         de comparaison, telles que <info>float</info>, entraînera une conversion interne
                         de la valeur de retour du rappel en <info>int</info>. Ainsi, des valeurs telles que
                         <return>0.99</return> et <return>0.1</return> seront toutes deux converties en une
                         valeur entière de <return>0</return>, ce qui comparera de telles valeurs comme égales.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Map::ksorted
type: function
doc:
<comment>Description:</comment>
  Returns a copy, sorted by key
  
  Returns a copy sorted by key, using an optional <strong>$comparator</strong> function.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  La fonction de comparaison doit retourner un entier inférieur à, égal à, ou
                         supérieur
                         à 0 si le premier argument est considéré comme, respectivement, inférieur
                         à, égal à, ou supérieur au second.
                         
                         Retourner des valeurs non-entières à partir de la fonction
                         de comparaison, telles que <info>float</info>, entraînera une conversion interne
                         de la valeur de retour du rappel en <info>int</info>. Ainsi, des valeurs telles que
                         <return>0.99</return> et <return>0.1</return> seront toutes deux converties en une
                         valeur entière de <return>0</return>, ce qui comparera de telles valeurs comme égales.

<comment>Return:</comment>
  <info>Ds\Map</info>  Returns a copy of the map, sorted by key.


id: Ds\Map::last
type: function
doc:
<comment>Description:</comment>
  Returns the last pair of the map
  
  Returns the last pair of the map.

<comment>Return:</comment>
  <info>Ds\Pair</info>  The last pair of the map.


id: Ds\Map::map
type: function
doc:
<comment>Description:</comment>
  Returns the result of applying a callback to each value
  
  Returns the result of applying a <strong>$callback</strong> function to each value of the map.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>mixed</info>callback<info>mixed</info><strong>$key</strong><info>mixed</info><strong>$value</strong>
                       
                       A <info>callable</info> to apply to each value in the map.
                       
                       The callable should return what the key will be mapped to in the resulting
                       map.

<comment>Return:</comment>
  <info>Ds\Map</info>  The result of applying a <strong>$callback</strong> to each value in the map.
          
          The keys and values of the current instance won't be affected.


id: Ds\Map::merge
type: function
doc:
<comment>Description:</comment>
  Returns the result of adding all given associations
  
  Returns the result of associating all keys of a given <class>traversable</class> object or tableau with their
  corresponding values, combined with the current instance.
  
  Values of the current instance will be overwritten by those provided where keys are equal.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  A <class>traversable</class> object or an tableau.

<comment>Return:</comment>
  <info>Ds\Map</info>  The result of associating all keys of a given <class>traversable</class> object or tableau with their
          corresponding values, combined with the current instance.
          
          The current instance won't be affected.


id: Ds\Map::pairs
type: function
doc:
<comment>Description:</comment>
  Returns a sequence containing all the pairs of the map
  
  Returns a <class>Ds\Sequence</class> containing all the pairs of the map.

<comment>Return:</comment>
  <info>Ds\Sequence</info>  <class>Ds\Sequence</class> containing all the pairs of the map.


id: Ds\Map::put
type: function
doc:
<comment>Description:</comment>
  Associates a key with a value
  
  Associates a <strong>$key</strong> with a <strong>$value</strong>, overwriting a previous association if one exists.
  
  Keys of type <info>object</info> are supported.
   If an object implements <class>Ds\Hashable</class>, equality will be determined by the object's equals function.
   If an object does not implement <class>Ds\Hashable</class>, objects must be references to the same instance to
  be considered equal.
  
  You can also use array syntax to associate values by key, eg. $map["key"] = $value.
  
  Be careful when using array syntax. Scalar keys will be coerced to integers by the engine. For
  example, $map["1"] will attempt to access int(1), while $map-&gt;get("1") will correctly look up
  the string key.
  
  See Arrays.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$key</strong>    The key to associate the value with.
  <info>mixed</info>  <strong>$value</strong>  The value to be associated with the key.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Map::putAll
type: function
doc:
<comment>Description:</comment>
  Associates all key-value pairs of a traversable object or array
  
  Associates all key-value <strong>$pairs</strong> of a <class>traversable</class> object or tableau.
  
  Keys of type <info>object</info> are supported.
   If an object implements <class>Ds\Hashable</class>, equality will be determined by the object's equals function.
   If an object does not implement <class>Ds\Hashable</class>, objects must be references to the same instance to
  be considered equal.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$pairs</strong>  <class>traversable</class> object or tableau.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Map::reduce
type: function
doc:
<comment>Description:</comment>
  Reduces the map to a single value using a callback function
  
  Reduces the map to a single value using a callback function.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  The return value of the previous callback, or <strong>$initial</strong> if it's the first
                       iteration.
                       
                       The key of the current iteration.
                       
                       The value of the current iteration.
  <info>mixed</info>     <strong>$carry</strong>     The return value of the previous callback, or <strong>$initial</strong> if it's the first
                       iteration.
  <info>mixed</info>     <strong>$key</strong>       The key of the current iteration.
  <info>mixed</info>     <strong>$value</strong>     The value of the current iteration.
  <info>mixed</info>     <strong>$initial</strong>   The initial value of the carry value. Can be <info>null</info>.

<comment>Return:</comment>
  <info>mixed</info>  The return value of the final callback.


id: Ds\Map::remove
type: function
doc:
<comment>Description:</comment>
  Removes and returns a value by key
  
  Removes and returns a value by key, or return an optional default value if the key could not be
  found.
  
  Keys of type <info>object</info> are supported.
   If an object implements <class>Ds\Hashable</class>, equality will be determined by the object's equals function.
   If an object does not implement <class>Ds\Hashable</class>, objects must be references to the same instance to
  be considered equal.
  
  You can also use array syntax to access values by key, eg. $map["key"].
  
  Be careful when using array syntax. Scalar keys will be coerced to integers by the engine. For
  example, $map["1"] will attempt to access int(1), while $map-&gt;get("1") will correctly look up
  the string key.
  
  See Arrays.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$key</strong>      The key to remove.
  <info>mixed</info>  <strong>$default</strong>  The optional default value, returned if the key could not be found.

<comment>Return:</comment>
  <info>mixed</info>  The value that was removed, or the <strong>$default</strong> value if provided and the <strong>$key</strong> could not be
         found in the map.


id: Ds\Map::reverse
type: function
doc:
<comment>Description:</comment>
  Reverses the map in-place
    
  
  Reverses the map in-place.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Map::reversed
type: function
doc:
<comment>Description:</comment>
  Returns a reversed copy
  
  Returns a reversed copy of the map.

<comment>Return:</comment>
  <info>Ds\Map</info>  A reversed copy of the map.
            The current instance is not affected. 
          
          The current instance is not affected.


id: Ds\Map::skip
type: function
doc:
<comment>Description:</comment>
  Returns the pair at a given positional index
  
  Returns the pair at a given zero-based <strong>$position</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$position</strong>  The zero-based positional index to return.

<comment>Return:</comment>
  <info>Ds\Pair</info>  Returns the <class>Ds\Pair</class> at the given <strong>$position</strong>.


id: Ds\Map::slice
type: function
doc:
<comment>Description:</comment>
  Returns a subset of the map defined by a starting index and length
    
  
  Returns a subset of the map defined by a starting <strong>$index</strong> and <strong>$length</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>   The index at which the range starts.
                
                If positive, the range will start at that index in the map. If negative, the range
                will start that far from the end.
  <info>int</info>  <strong>$length</strong>  If a length is given and is positive, the resulting map will have up to that many
                pairs in it.
                 If a length is given and is negative, the range will stop that many pairs from the
                end.
                 If the length results in an overflow, only pairs up to the end of the map will be
                included.
                 If a length is not provided, the resulting map will contain all pairs between the
                index and the end of the map.

<comment>Return:</comment>
  <info>Ds\Map</info>  A subset of the map defined by a starting index and length.


id: Ds\Map::sort
type: function
doc:
<comment>Description:</comment>
  Sorts the map in-place by value
   
  
  Sorts the map in-place by value, using an optional <strong>$comparator</strong> function.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  La fonction de comparaison doit retourner un entier inférieur à, égal à, ou
                         supérieur
                         à 0 si le premier argument est considéré comme, respectivement, inférieur
                         à, égal à, ou supérieur au second.
                         
                         Retourner des valeurs non-entières à partir de la fonction
                         de comparaison, telles que <info>float</info>, entraînera une conversion interne
                         de la valeur de retour du rappel en <info>int</info>. Ainsi, des valeurs telles que
                         <return>0.99</return> et <return>0.1</return> seront toutes deux converties en une
                         valeur entière de <return>0</return>, ce qui comparera de telles valeurs comme égales.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Map::sorted
type: function
doc:
<comment>Description:</comment>
  Returns a copy, sorted by value
  
  Returns a copy, sorted by value using an optional <strong>$comparator</strong> function.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  La fonction de comparaison doit retourner un entier inférieur à, égal à, ou
                         supérieur
                         à 0 si le premier argument est considéré comme, respectivement, inférieur
                         à, égal à, ou supérieur au second.
                         
                         Retourner des valeurs non-entières à partir de la fonction
                         de comparaison, telles que <info>float</info>, entraînera une conversion interne
                         de la valeur de retour du rappel en <info>int</info>. Ainsi, des valeurs telles que
                         <return>0.99</return> et <return>0.1</return> seront toutes deux converties en une
                         valeur entière de <return>0</return>, ce qui comparera de telles valeurs comme égales.

<comment>Return:</comment>
  <info>Ds\Map</info>  Returns a copy of the map, sorted by value.


id: Ds\Map::sum
type: function
doc:
<comment>Description:</comment>
  Returns the sum of all values in the map
  
  Returns the sum of all values in the map.
  
  Arrays and objects are considered equal to zero when calculating the sum.

<comment>Return:</comment>
  <info>int|float</info>  The sum of all the values in the map as either a <info>float</info> or <info>int</info> depending on the values
             in the map.


id: Ds\Map::toArray
type: function
doc:
<comment>Description:</comment>
  Converts the map to an tableau
    
  
  Converts the map to an tableau.
  
  Maps where non-scalar keys are can't be converted to an tableau.
  
  An tableau will treat all numeric keys as integers, eg. "1" and 1 as keys in the map will only
  result in 1 being included in the array.
  
  Casting to an tableau is not supported yet.

<comment>Return:</comment>
  <info>array</info>  An tableau containing all the values in the same order as the map.


id: Ds\Map::union
type: function
doc:
<comment>Description:</comment>
  Creates a new map using values from the current instance and another map
  
  Creates a new map that contains the pairs of the current instance as well as the pairs of another
  <strong>$map</strong>.
  
  A ∪ B = {x: x ∈ A ∨ x ∈ B}
  
  Values of the current instance will be overwritten by those provided where keys are equal.

<comment>Param:</comment>
  <info>Ds\Map</info>  <strong>$map</strong>  The other map, to combine with the current instance.

<comment>Return:</comment>
  <info>Ds\Map</info>  A new map containing all the pairs of the current instance as well as another <strong>$map</strong>.

<comment>See Also:</comment>
   * Union on Wikipedia


id: Ds\Map::values
type: function
doc:
<comment>Description:</comment>
  Returns a sequence of the map's values
  
  Returns a sequence containing all the values of the map, in the same order.

<comment>Return:</comment>
  <info>Ds\Sequence</info>  A <class>Ds\Sequence</class> containing all the values of the map.


id: Ds\Map::xor
type: function
doc:
<comment>Description:</comment>
  Creates a new map using keys of either the current instance or of another map, but not of both
  
  Creates a new map containing keys of the current instance as well as another <strong>$map</strong>, but not of
  both.
  
  A ⊖ B = {x : x ∈ (A \ B) ∪ (B \ A)}

<comment>Param:</comment>
  <info>Ds\Map</info>  <strong>$map</strong>  The other map.

<comment>Return:</comment>
  <info>Ds\Map</info>  A new map containing keys in the current instance as well as another <strong>$map</strong>, but not in
          both.

<comment>See Also:</comment>
   * Symmetric Difference on Wikipedia


id: Ds\Pair
type: class
doc:
<comment>Description:</comment>
  A pair is used by <class>Ds\Map</class> to pair keys with values.


id: Ds\Pair::__construct
type: function
doc:
<comment>Description:</comment>
  Creates a new instance
  
  Creates a new instance using a given <strong>$key</strong> and <strong>$value</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$key</strong>    The key.
  <info>mixed</info>  <strong>$value</strong>  The value.


id: Ds\Pair::clear
type: function
doc:
<comment>Description:</comment>
  Removes all values
  
  Removes all values from the pair.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Pair::copy
type: function
doc:
<comment>Description:</comment>
  Returns a shallow copy of the pair
  
  Returns a shallow copy of the pair.

<comment>Return:</comment>
  <info>Ds\Pair</info>  Returns a shallow copy of the pair.


id: Ds\Pair::isEmpty
type: function
doc:
<comment>Description:</comment>
  Returns whether the pair is empty
  
  Returns whether the pair is empty.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the pair is empty, <info>false</info> otherwise.


id: Ds\Pair::toArray
type: function
doc:
<comment>Description:</comment>
  Converts the pair to an tableau
    
  
  Converts the pair to an tableau.
  
  Casting to an tableau is not supported yet.

<comment>Return:</comment>
  <info>array</info>  An tableau containing all the values in the same order as the pair.


id: Ds\PriorityQueue
type: class
doc:
<comment>Description:</comment>
  A PriorityQueue is very similar to a Queue. Values are pushed into the queue with an assigned
  priority, and the value with the highest priority will always be at the front of the queue.
  
  Implemented using a max heap.
  
  "First in, first out" ordering is preserved for values with the same priority.
  
  Iterating over a PriorityQueue is destructive, equivalent to successive pop operations until the
  queue is empty.


id: Ds\PriorityQueue::clear
type: function
doc:
<comment>Description:</comment>
  Removes all values
  
  Removes all values from the queue.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\PriorityQueue::copy
type: function
doc:
<comment>Description:</comment>
  Returns a shallow copy of the queue
  
  Returns a shallow copy of the queue.

<comment>Return:</comment>
  <info>Ds\PriorityQueue</info>  Returns a shallow copy of the queue.


id: Ds\PriorityQueue::count
type: function
doc:
<comment>Description:</comment>
  Returns the number of values in the queue
  
  See <strong>Countable::count()</strong>


id: Ds\PriorityQueue::isEmpty
type: function
doc:
<comment>Description:</comment>
  Returns whether the queue is empty
  
  Returns whether the queue is empty.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the queue is empty, <info>false</info> otherwise.


id: Ds\PriorityQueue::peek
type: function
doc:
<comment>Description:</comment>
  Returns the value at the front of the queue
  
  Returns the value at the front of the queue, but does not remove it.

<comment>Return:</comment>
  <info>mixed</info>  The value at the front of the queue.


id: Ds\PriorityQueue::pop
type: function
doc:
<comment>Description:</comment>
  Removes and returns the value with the highest priority
  
  Removes and returns the value at the front of the queue, ie. the value with the highest priority.
  
  Values with equal priority fall back to FIFO (first in first out).

<comment>Return:</comment>
  <info>mixed</info>  The removed value which was at the front of the queue.


id: Ds\PriorityQueue::push
type: function
doc:
<comment>Description:</comment>
  Pushes values into the queue
  
  Pushes a <strong>$value</strong> with a given <strong>$priority</strong> into the queue.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>     The value to push into the queue.
  <info>int</info>    <strong>$priority</strong>  The priority associated with the value.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\PriorityQueue::toArray
type: function
doc:
<comment>Description:</comment>
  Converts the queue to an tableau
    
  
  Converts the queue to an tableau.
  
  This method is not destructive.
  
  Casting to an tableau is not supported yet.

<comment>Return:</comment>
  <info>array</info>  An tableau containing all the values in the same order as the queue.


id: Ds\Queue
type: class
doc:
<comment>Description:</comment>
  A Queue is a “first in, first out” or “FIFO” collection that only allows access to the value at
  the front of the queue and iterates in that order, destructively.


id: Ds\Queue::allocate
type: function
doc:
<comment>Description:</comment>
  Allocates enough memory for a required capacity
  
  Ensures that enough memory is allocated for a required capacity. This removes the need to
  reallocate the internal as values are added.
  
  Capacity will always be rounded up to the nearest power of 2.

<comment>Param:</comment>
  <info>int</info>  <strong>$capacity</strong>  The number of values for which capacity should be allocated.
                  
                  Capacity will stay the same if this value is less than or equal to the current
                  capacity.
                  
                  Capacity will always be rounded up to the nearest power of 2.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Queue::copy
type: function
doc:
<comment>Description:</comment>
  Returns a shallow copy of the queue
  
  Returns a shallow copy of the queue.

<comment>Return:</comment>
  <info>Ds\Queue</info>  Returns a shallow copy of the queue.


id: Ds\Queue::pop
type: function
doc:
<comment>Description:</comment>
  Removes and returns the value at the front of the queue
  
  Removes and returns the value at the front of the queue.

<comment>Return:</comment>
  <info>mixed</info>  The removed value which was at the front of the queue.


id: Ds\Queue::push
type: function
doc:
<comment>Description:</comment>
  Pushes values into the queue
  
  Pushes <strong>$values</strong> into the queue.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  The values to push into the queue.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Queue::toArray
type: function
doc:
<comment>Description:</comment>
  Converts the queue to an tableau
    
  
  Converts the queue to an tableau.
  
  Casting to an tableau is not supported yet.
  
  This method is not destructive.

<comment>Return:</comment>
  <info>array</info>  An tableau containing all the values in the same order as the queue.


id: Ds\Sequence
type: class
doc:
<comment>Description:</comment>
  A Sequence describes the behaviour of values arranged in a single, linear dimension. Some
  languages refer to this as a "List". It’s similar to an array that uses incremental integer keys,
  with the exception of a few characteristics: Values will always be indexed as [0, 1, 2, …, size -
  1].Only allowed to access values by index in the range [0, size - 1].
  
  Use cases: Wherever you would use an array as a list (not concerned with keys).A more efficient
  alternative to <class>SplDoublyLinkedList</class> and <class>SplFixedArray</class>.


id: Ds\Sequence::allocate
type: function
doc:
<comment>Description:</comment>
  Allocates enough memory for a required capacity
  
  Ensures that enough memory is allocated for a required capacity. This removes the need to
  reallocate the internal as values are added.

<comment>Param:</comment>
  <info>int</info>  <strong>$capacity</strong>  The number of values for which capacity should be allocated.
                  
                  Capacity will stay the same if this value is less than or equal to the current
                  capacity.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Sequence::apply
type: function
doc:
<comment>Description:</comment>
  Updates all values by applying a callback function to each value
  
  Updates all values by applying a <strong>$callback</strong> function to each value in the sequence.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>mixed</info>callback<info>mixed</info><strong>$value</strong>
                       
                       A <info>callable</info> to apply to each value in the sequence.
                       
                       The callback should return what the value should be replaced by.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Sequence::contains
type: function
doc:
<comment>Description:</comment>
  Determines if the sequence contains given values
  
  Determines if the sequence contains all values.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Values to check.

<comment>Return:</comment>
  <info>bool</info>  <info>false</info> if any of the provided <strong>$values</strong> are not in the sequence, <info>true</info> otherwise.


id: Ds\Sequence::filter
type: function
doc:
<comment>Description:</comment>
  Creates a new sequence using a callable to
      determine which values to include
   
  
  Creates a new sequence using a <info>callable</info> to determine which values to include.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>bool</info>callback<info>mixed</info><strong>$value</strong>
                       
                       Optional <info>callable</info> which returns <info>true</info> if the value should be included, <info>false</info>
                       otherwise.
                       
                       If a callback is not provided, only values which are <info>true</info> (see converting to
                       boolean) will be included.

<comment>Return:</comment>
  <info>Ds\Sequence</info>  A new sequence containing all the values for which either the <strong>$callback</strong> returned
               <info>true</info>, or all values that convert to <info>true</info> if a <strong>$callback</strong> was not provided.


id: Ds\Sequence::first
type: function
doc:
<comment>Description:</comment>
  Returns the first value in the sequence
  
  Returns the first value in the sequence.

<comment>Return:</comment>
  <info>mixed</info>  The first value in the sequence.


id: Ds\Sequence::insert
type: function
doc:
<comment>Description:</comment>
  Inserts values at a given index
  
  Inserts values into the sequence at a given index.

<comment>Param:</comment>
  <info>int</info>    <strong>$index</strong>   The index at which to insert. 0 \<= index \<= count
                  
                  You can insert at the index equal to the number of values.
  <info>mixed</info>  <strong>$values</strong>  The value or values to insert.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Sequence::join
type: function
doc:
<comment>Description:</comment>
  Joins all values together as a string
  
  Joins all values together as a string using an optional separator between each value.

<comment>Param:</comment>
  <info>string</info>  <strong>$glue</strong>  An optional string to separate each value.

<comment>Return:</comment>
  <info>string</info>  All values of the sequence joined together as a string.


id: Ds\Sequence::last
type: function
doc:
<comment>Description:</comment>
  Returns the last value
  
  Returns the last value in the sequence.

<comment>Return:</comment>
  <info>mixed</info>  The last value in the sequence.


id: Ds\Sequence::map
type: function
doc:
<comment>Description:</comment>
  Returns the result of applying a callback to each value
  
  Returns the result of applying a <strong>$callback</strong> function to each value in the sequence.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>mixed</info>callback<info>mixed</info><strong>$value</strong>
                       
                       A <info>callable</info> to apply to each value in the sequence.
                       
                       The callable should return what the new value will be in the new sequence.

<comment>Return:</comment>
  <info>Ds\Sequence</info>  The result of applying a <strong>$callback</strong> to each value in the sequence.
               
               The values of the current instance won't be affected.


id: Ds\Sequence::merge
type: function
doc:
<comment>Description:</comment>
  Returns the result of adding all given values to the sequence
  
  Returns the result of adding all given values to the sequence.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  A <class>traversable</class> object or an tableau.

<comment>Return:</comment>
  <info>Ds\Sequence</info>  The result of adding all given values to the sequence, effectively the same as adding
               the values to a copy, then returning that copy.
               
               The current instance won't be affected.


id: Ds\Sequence::push
type: function
doc:
<comment>Description:</comment>
  Adds values to the end of the sequence
  
  Adds values to the end of the sequence.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  The values to add.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Sequence::reduce
type: function
doc:
<comment>Description:</comment>
  Reduces the sequence to a single value using a callback function
  
  Reduces the sequence to a single value using a callback function.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  The return value of the previous callback, or <strong>$initial</strong> if it's the first
                       iteration.
                       
                       The value of the current iteration.
  <info>mixed</info>     <strong>$carry</strong>     The return value of the previous callback, or <strong>$initial</strong> if it's the first
                       iteration.
  <info>mixed</info>     <strong>$value</strong>     The value of the current iteration.
  <info>mixed</info>     <strong>$initial</strong>   The initial value of the carry value. Can be <info>null</info>.

<comment>Return:</comment>
  <info>mixed</info>  The return value of the final callback.


id: Ds\Sequence::reverse
type: function
doc:
<comment>Description:</comment>
  Reverses the sequence in-place
    
  
  Reverses the sequence in-place.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Sequence::reversed
type: function
doc:
<comment>Description:</comment>
  Returns a reversed copy
  
  Returns a reversed copy of the sequence.

<comment>Return:</comment>
  <info>Ds\Sequence</info>  A reversed copy of the sequence.
                 The current instance is not affected. 
               
               The current instance is not affected.


id: Ds\Sequence::rotate
type: function
doc:
<comment>Description:</comment>
  Rotates the sequence by a given number of rotations
  
  Rotates the sequence by a given number of rotations, which is equivalent to successively calling
  $sequence-&gt;push($sequence-&gt;shift()) if the number of rotations is positive, or
  $sequence-&gt;unshift($sequence-&gt;pop()) if negative.

<comment>Param:</comment>
  <info>int</info>  <strong>$rotations</strong>  The number of times the sequence should be rotated.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.. The sequence of the current instance will be rotated.


id: Ds\Sequence::slice
type: function
doc:
<comment>Description:</comment>
  Returns a sub-sequence of a given range
    
  
  Creates a sub-sequence of a given range.

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>   The index at which the sub-sequence starts.
                
                If positive, the sequence will start at that index in the sequence. If negative, the
                sequence will start that far from the end.
  <info>int</info>  <strong>$length</strong>  If a length is given and is positive, the resulting sequence will have up to that
                many values in it.
                 If the length results in an overflow, only values up to the end of the sequence
                will be included.
                 If a length is given and is negative, the sequence will stop that many values from
                the end.
                 If a length is not provided, the resulting sequence will contain all values between
                the index and the end of the sequence.

<comment>Return:</comment>
  <info>Ds\Sequence</info>  A sub-sequence of the given range.


id: Ds\Sequence::sort
type: function
doc:
<comment>Description:</comment>
  Sorts the sequence in-place
   
  
  Sorts the sequence in-place, using an optional <strong>$comparator</strong> function.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  La fonction de comparaison doit retourner un entier inférieur à, égal à, ou
                         supérieur
                         à 0 si le premier argument est considéré comme, respectivement, inférieur
                         à, égal à, ou supérieur au second.
                         
                         Retourner des valeurs non-entières à partir de la fonction
                         de comparaison, telles que <info>float</info>, entraînera une conversion interne
                         de la valeur de retour du rappel en <info>int</info>. Ainsi, des valeurs telles que
                         <return>0.99</return> et <return>0.1</return> seront toutes deux converties en une
                         valeur entière de <return>0</return>, ce qui comparera de telles valeurs comme égales.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Sequence::sorted
type: function
doc:
<comment>Description:</comment>
  Returns a sorted copy
  
  Returns a sorted copy, using an optional <strong>$comparator</strong> function.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  La fonction de comparaison doit retourner un entier inférieur à, égal à, ou
                         supérieur
                         à 0 si le premier argument est considéré comme, respectivement, inférieur
                         à, égal à, ou supérieur au second.
                         
                         Retourner des valeurs non-entières à partir de la fonction
                         de comparaison, telles que <info>float</info>, entraînera une conversion interne
                         de la valeur de retour du rappel en <info>int</info>. Ainsi, des valeurs telles que
                         <return>0.99</return> et <return>0.1</return> seront toutes deux converties en une
                         valeur entière de <return>0</return>, ce qui comparera de telles valeurs comme égales.

<comment>Return:</comment>
  <info>Ds\Sequence</info>  Returns a sorted copy of the sequence.


id: Ds\Sequence::sum
type: function
doc:
<comment>Description:</comment>
  Returns the sum of all values in the sequence
  
  Returns the sum of all values in the sequence.
  
  Arrays and objects are considered equal to zero when calculating the sum.

<comment>Return:</comment>
  <info>int|float</info>  The sum of all the values in the sequence as either a <info>float</info> or <info>int</info> depending on the
             values in the sequence.


id: Ds\Sequence::unshift
type: function
doc:
<comment>Description:</comment>
  Adds values to the front of the sequence
  
  Adds values to the front of the sequence, moving all the current values forward to make room for
  the new values.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  The values to add to the front of the sequence.  Multiple values will be added in
                  the same order that they are passed.
                  
                  Multiple values will be added in the same order that they are passed.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Set
type: class
doc:
<comment>Description:</comment>
  A Set is a sequence of unique values. This implementation uses the same hash table as <class>Ds\Map</class>,
  where values are used as keys and the mapped value is ignored.


id: Ds\Set::add
type: function
doc:
<comment>Description:</comment>
  Adds values to the set
  
  Adds all given values to the set that haven't already been added.
  
  Values of type <info>object</info> are supported.
   If an object implements <class>Ds\Hashable</class>, equality will be determined by the object's equals function.
   If an object does not implement <class>Ds\Hashable</class>, objects must be references to the same instance to
  be considered equal.
  
  All comparisons are strict (type and value).

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Values to add to the set.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Set::clear
type: function
doc:
<comment>Description:</comment>
  Removes all values
  
  Removes all values from the set.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Set::contains
type: function
doc:
<comment>Description:</comment>
  Determines if the set contains all values
  
  Determines if the set contains all values.
  
  Values of type <info>object</info> are supported.
   If an object implements <class>Ds\Hashable</class>, equality will be determined by the object's equals function.
   If an object does not implement <class>Ds\Hashable</class>, objects must be references to the same instance to
  be considered equal.
  
  All comparisons are strict (type and value).

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Values to check.

<comment>Return:</comment>
  <info>bool</info>  <info>false</info> if any of the provided <strong>$values</strong> are not in the set, <info>true</info> otherwise.


id: Ds\Set::copy
type: function
doc:
<comment>Description:</comment>
  Returns a shallow copy of the set
  
  Returns a shallow copy of the set.

<comment>Return:</comment>
  <info>Ds\Set</info>  Returns a shallow copy of the set.


id: Ds\Set::count
type: function
doc:
<comment>Description:</comment>
  Returns the number of values in the set
  
  See <strong>Countable::count()</strong>


id: Ds\Set::diff
type: function
doc:
<comment>Description:</comment>
  Creates a new set using values that aren't in another set
  
  Creates a new set using values that aren't in another set.
  
  A \ B = {x ∈ A | x ∉ B}

<comment>Param:</comment>
  <info>Ds\Set</info>  <strong>$set</strong>  Set containing the values to exclude.

<comment>Return:</comment>
  <info>Ds\Set</info>  A new set containing all values that were not in the other <strong>$set</strong>.

<comment>See Also:</comment>
   * Complement on Wikipedia


id: Ds\Set::filter
type: function
doc:
<comment>Description:</comment>
  Creates a new set using a callable to
      determine which values to include
    
  
  Creates a new set using a <info>callable</info> to determine which values to include.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>bool</info>callback<info>mixed</info><strong>$value</strong>
                       
                       Optional <info>callable</info> which returns <info>true</info> if the value should be included, <info>false</info>
                       otherwise.
                       
                       If a callback is not provided, only values which are <info>true</info> (see converting to
                       boolean) will be included.

<comment>Return:</comment>
  <info>Ds\Set</info>  A new set containing all the values for which either the <strong>$callback</strong> returned <info>true</info>, or all
          values that convert to <info>true</info> if a <strong>$callback</strong> was not provided.


id: Ds\Set::first
type: function
doc:
<comment>Description:</comment>
  Returns the first value in the set
  
  Returns the first value in the set.

<comment>Return:</comment>
  <info>mixed</info>  The first value in the set.


id: Ds\Set::intersect
type: function
doc:
<comment>Description:</comment>
  Creates a new set by intersecting values with another set
  
  Creates a new set using values common to both the current instance and another <strong>$set</strong>.
   In other words, returns a copy of the current instance with all values removed that are not in
  the other <strong>$set</strong>.
  
  A ∩ B = {x : x ∈ A ∧ x ∈ B}

<comment>Param:</comment>
  <info>Ds\Set</info>  <strong>$set</strong>  The other set.

<comment>Return:</comment>
  <info>Ds\Set</info>  The intersection of the current instance and another <strong>$set</strong>.

<comment>See Also:</comment>
   * Intersection on Wikipedia


id: Ds\Set::isEmpty
type: function
doc:
<comment>Description:</comment>
  Returns whether the set is empty
  
  Returns whether the set is empty.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the set is empty, <info>false</info> otherwise.


id: Ds\Set::join
type: function
doc:
<comment>Description:</comment>
  Joins all values together as a string
  
  Joins all values together as a string using an optional separator between each value.

<comment>Param:</comment>
  <info>string</info>  <strong>$glue</strong>  An optional string to separate each value.

<comment>Return:</comment>
  <info>string</info>  All values of the set joined together as a string.


id: Ds\Set::last
type: function
doc:
<comment>Description:</comment>
  Returns the last value in the set
  
  Returns the last value in the set.

<comment>Return:</comment>
  <info>mixed</info>  The last value in the set.


id: Ds\Set::merge
type: function
doc:
<comment>Description:</comment>
  Returns the result of adding all given values to the set
  
  Returns the result of adding all given values to the set.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  A <class>traversable</class> object or an tableau.

<comment>Return:</comment>
  <info>Ds\Set</info>  The result of adding all given values to the set, effectively the same as adding the
          values to a copy, then returning that copy.
          
          The current instance won't be affected.


id: Ds\Set::reduce
type: function
doc:
<comment>Description:</comment>
  Reduces the set to a single value using a callback function
  
  Reduces the set to a single value using a callback function.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  The return value of the previous callback, or <strong>$initial</strong> if it's the first
                       iteration.
                       
                       The value of the current iteration.
  <info>mixed</info>     <strong>$carry</strong>     The return value of the previous callback, or <strong>$initial</strong> if it's the first
                       iteration.
  <info>mixed</info>     <strong>$value</strong>     The value of the current iteration.
  <info>mixed</info>     <strong>$initial</strong>   The initial value of the carry value. Can be <info>null</info>.

<comment>Return:</comment>
  <info>mixed</info>  The return value of the final callback.


id: Ds\Set::remove
type: function
doc:
<comment>Description:</comment>
  Removes all given values from the set
  
  Removes all given <strong>$values</strong> from the set, ignoring any that are not in the set.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  The values to remove.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Set::reverse
type: function
doc:
<comment>Description:</comment>
  Reverses the set in-place
    
  
  Reverses the set in-place.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Set::reversed
type: function
doc:
<comment>Description:</comment>
  Returns a reversed copy
  
  Returns a reversed copy of the set.

<comment>Return:</comment>
  <info>Ds\Set</info>  A reversed copy of the set.
            The current instance is not affected. 
          
          The current instance is not affected.


id: Ds\Set::slice
type: function
doc:
<comment>Description:</comment>
  Returns a sub-set of a given range
    
  
  Creates a sub-set of a given range.

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>   The index at which the sub-set starts.
                
                If positive, the set will start at that index in the set. If negative, the set will
                start that far from the end.
  <info>int</info>  <strong>$length</strong>  If a length is given and is positive, the resulting set will have up to that many
                values in it.
                 If the length results in an overflow, only values up to the end of the set will be
                included.
                 If a length is given and is negative, the set will stop that many values from the
                end.
                 If a length is not provided, the resulting set will contain all values between the
                index and the end of the set.

<comment>Return:</comment>
  <info>Ds\Set</info>  A sub-set of the given range.


id: Ds\Set::sort
type: function
doc:
<comment>Description:</comment>
  Sorts the set in-place
   
  
  Sorts the set in-place, using an optional <strong>$comparator</strong> function.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  La fonction de comparaison doit retourner un entier inférieur à, égal à, ou
                         supérieur
                         à 0 si le premier argument est considéré comme, respectivement, inférieur
                         à, égal à, ou supérieur au second.
                         
                         Retourner des valeurs non-entières à partir de la fonction
                         de comparaison, telles que <info>float</info>, entraînera une conversion interne
                         de la valeur de retour du rappel en <info>int</info>. Ainsi, des valeurs telles que
                         <return>0.99</return> et <return>0.1</return> seront toutes deux converties en une
                         valeur entière de <return>0</return>, ce qui comparera de telles valeurs comme égales.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Set::sorted
type: function
doc:
<comment>Description:</comment>
  Returns a sorted copy
  
  Returns a sorted copy, using an optional <strong>$comparator</strong> function.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  La fonction de comparaison doit retourner un entier inférieur à, égal à, ou
                         supérieur
                         à 0 si le premier argument est considéré comme, respectivement, inférieur
                         à, égal à, ou supérieur au second.
                         
                         Retourner des valeurs non-entières à partir de la fonction
                         de comparaison, telles que <info>float</info>, entraînera une conversion interne
                         de la valeur de retour du rappel en <info>int</info>. Ainsi, des valeurs telles que
                         <return>0.99</return> et <return>0.1</return> seront toutes deux converties en une
                         valeur entière de <return>0</return>, ce qui comparera de telles valeurs comme égales.

<comment>Return:</comment>
  <info>Ds\Set</info>  Returns a sorted copy of the set.


id: Ds\Set::sum
type: function
doc:
<comment>Description:</comment>
  Returns the sum of all values in the set
  
  Returns the sum of all values in the set.
  
  Arrays and objects are considered equal to zero when calculating the sum.

<comment>Return:</comment>
  <info>int|float</info>  The sum of all the values in the set as either a <info>float</info> or <info>int</info> depending on the values
             in the set.


id: Ds\Set::toArray
type: function
doc:
<comment>Description:</comment>
  Converts the set to an tableau
    
  
  Converts the set to an tableau.
  
  Casting to an tableau is not supported yet.

<comment>Return:</comment>
  <info>array</info>  An tableau containing all the values in the same order as the set.


id: Ds\Set::union
type: function
doc:
<comment>Description:</comment>
  Creates a new set using values from the current instance and another set
  
  Creates a new set that contains the values of the current instance as well as the values of
  another <strong>$set</strong>.
  
  A ∪ B = {x: x ∈ A ∨ x ∈ B}

<comment>Param:</comment>
  <info>Ds\Set</info>  <strong>$set</strong>  The other set, to combine with the current instance.

<comment>Return:</comment>
  <info>Ds\Set</info>  A new set containing all the values of the current instance as well as another <strong>$set</strong>.

<comment>See Also:</comment>
   * Union on Wikipedia


id: Ds\Set::xor
type: function
doc:
<comment>Description:</comment>
  Creates a new set using values in either the current instance or in another set, but not in both
  
  Creates a new set containing values in the current instance as well as another <strong>$set</strong>, but not in
  both.
  
  A ⊖ B = {x : x ∈ (A \ B) ∪ (B \ A)}

<comment>Param:</comment>
  <info>Ds\Set</info>  <strong>$set</strong>  The other set.

<comment>Return:</comment>
  <info>Ds\Set</info>  A new set containing values in the current instance as well as another <strong>$set</strong>, but not in
          both.

<comment>See Also:</comment>
   * Symmetric Difference on Wikipedia


id: Ds\Stack
type: class
doc:
<comment>Description:</comment>
  A Stack is a “last in, first out” or “LIFO” collection that only allows access to the value at the
  top of the structure and iterates in that order, destructively.
  
  Uses a <class>Ds\Vector</class> internally.


id: Ds\Stack::clear
type: function
doc:
<comment>Description:</comment>
  Removes all values
  
  Removes all values from the stack.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Stack::copy
type: function
doc:
<comment>Description:</comment>
  Returns a shallow copy of the stack
  
  Returns a shallow copy of the stack.

<comment>Return:</comment>
  <info>Ds\Stack</info>  Returns a shallow copy of the stack.


id: Ds\Stack::count
type: function
doc:
<comment>Description:</comment>
  Returns the number of values in the stack
  
  See <strong>Countable::count()</strong>


id: Ds\Stack::isEmpty
type: function
doc:
<comment>Description:</comment>
  Returns whether the stack is empty
  
  Returns whether the stack is empty.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the stack is empty, <info>false</info> otherwise.


id: Ds\Stack::peek
type: function
doc:
<comment>Description:</comment>
  Returns the value at the top of the stack
  
  Returns the value at the top of the stack, but does not remove it.

<comment>Return:</comment>
  <info>mixed</info>  The value at the top of the stack.


id: Ds\Stack::pop
type: function
doc:
<comment>Description:</comment>
  Removes and returns the value at the top of the stack
  
  Removes and returns the value at the top of the stack.

<comment>Return:</comment>
  <info>mixed</info>  The removed value which was at the top of the stack.


id: Ds\Stack::push
type: function
doc:
<comment>Description:</comment>
  Pushes values onto the stack
  
  Pushes <strong>$values</strong> onto the stack.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  The values to push onto the stack.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Stack::toArray
type: function
doc:
<comment>Description:</comment>
  Converts the stack to an tableau
    
  
  Converts the stack to an tableau.
  
  Casting to an tableau is not supported yet.

<comment>Return:</comment>
  <info>array</info>  An tableau containing all the values in the same order as the stack.


id: Ds\Vector
type: class
doc:
<comment>Description:</comment>
  A Vector is a sequence of values in a contiguous buffer that grows and shrinks automatically. It’s
  the most efficient sequential structure because a value’s index is a direct mapping to its index
  in the buffer, and the growth factor isn't bound to a specific multiple or exponent.


id: Ds\Vector::apply
type: function
doc:
<comment>Description:</comment>
  Updates all values by applying a callback function to each value
  
  Updates all values by applying a <strong>$callback</strong> function to each value in the vector.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>mixed</info>callback<info>mixed</info><strong>$value</strong>
                       
                       A <info>callable</info> to apply to each value in the vector.
                       
                       The callback should return what the value should be replaced by.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Vector::clear
type: function
doc:
<comment>Description:</comment>
  Removes all values
  
  Removes all values from the vector.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Vector::contains
type: function
doc:
<comment>Description:</comment>
  Determines if the vector contains given values
  
  Determines if the vector contains all values.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  Values to check.

<comment>Return:</comment>
  <info>bool</info>  <info>false</info> if any of the provided <strong>$values</strong> are not in the vector, <info>true</info> otherwise.


id: Ds\Vector::copy
type: function
doc:
<comment>Description:</comment>
  Returns a shallow copy of the vector
  
  Returns a shallow copy of the vector.

<comment>Return:</comment>
  <info>Ds\Vector</info>  Returns a shallow copy of the vector.


id: Ds\Vector::filter
type: function
doc:
<comment>Description:</comment>
  Creates a new vector using a callable to
      determine which values to include
   
  
  Creates a new vector using a <info>callable</info> to determine which values to include.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>bool</info>callback<info>mixed</info><strong>$value</strong>
                       
                       Optional <info>callable</info> which returns <info>true</info> if the value should be included, <info>false</info>
                       otherwise.
                       
                       If a callback is not provided, only values which are <info>true</info> (see converting to
                       boolean) will be included.

<comment>Return:</comment>
  <info>Ds\Vector</info>  A new vector containing all the values for which either the <strong>$callback</strong> returned <info>true</info>, or
             all values that convert to <info>true</info> if a <strong>$callback</strong> was not provided.


id: Ds\Vector::first
type: function
doc:
<comment>Description:</comment>
  Returns the first value in the vector
  
  Returns the first value in the vector.

<comment>Return:</comment>
  <info>mixed</info>  The first value in the vector.


id: Ds\Vector::insert
type: function
doc:
<comment>Description:</comment>
  Inserts values at a given index
  
  Inserts values into the vector at a given index.

<comment>Param:</comment>
  <info>int</info>    <strong>$index</strong>   The index at which to insert. 0 \<= index \<= count
                  
                  You can insert at the index equal to the number of values.
  <info>mixed</info>  <strong>$values</strong>  The value or values to insert.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Vector::isEmpty
type: function
doc:
<comment>Description:</comment>
  Returns whether the vector is empty
  
  Returns whether the vector is empty.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the vector is empty, <info>false</info> otherwise.


id: Ds\Vector::join
type: function
doc:
<comment>Description:</comment>
  Joins all values together as a string
  
  Joins all values together as a string using an optional separator between each value.

<comment>Param:</comment>
  <info>string</info>  <strong>$glue</strong>  An optional string to separate each value.

<comment>Return:</comment>
  <info>string</info>  All values of the vector joined together as a string.


id: Ds\Vector::last
type: function
doc:
<comment>Description:</comment>
  Returns the last value
  
  Returns the last value in the vector.

<comment>Return:</comment>
  <info>mixed</info>  The last value in the vector.


id: Ds\Vector::map
type: function
doc:
<comment>Description:</comment>
  Returns the result of applying a callback to each value
  
  Returns the result of applying a <strong>$callback</strong> function to each value in the vector.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <info>mixed</info>callback<info>mixed</info><strong>$value</strong>
                       
                       A <info>callable</info> to apply to each value in the vector.
                       
                       The callable should return what the new value will be in the new vector.

<comment>Return:</comment>
  <info>Ds\Vector</info>  The result of applying a <strong>$callback</strong> to each value in the vector.
             
             The values of the current instance won't be affected.


id: Ds\Vector::merge
type: function
doc:
<comment>Description:</comment>
  Returns the result of adding all given values to the vector
  
  Returns the result of adding all given values to the vector.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  A <class>traversable</class> object or an tableau.

<comment>Return:</comment>
  <info>Ds\Vector</info>  The result of adding all given values to the vector, effectively the same as adding the
             values to a copy, then returning that copy.
             
             The current instance won't be affected.


id: Ds\Vector::push
type: function
doc:
<comment>Description:</comment>
  Adds values to the end of the vector
  
  Adds values to the end of the vector.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  The values to add.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Vector::reduce
type: function
doc:
<comment>Description:</comment>
  Reduces the vector to a single value using a callback function
  
  Reduces the vector to a single value using a callback function.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  The return value of the previous callback, or <strong>$initial</strong> if it's the first
                       iteration.
                       
                       The value of the current iteration.
  <info>mixed</info>     <strong>$carry</strong>     The return value of the previous callback, or <strong>$initial</strong> if it's the first
                       iteration.
  <info>mixed</info>     <strong>$value</strong>     The value of the current iteration.
  <info>mixed</info>     <strong>$initial</strong>   The initial value of the carry value. Can be <info>null</info>.

<comment>Return:</comment>
  <info>mixed</info>  The return value of the final callback.


id: Ds\Vector::reverse
type: function
doc:
<comment>Description:</comment>
  Reverses the vector in-place
    
  
  Reverses the vector in-place.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Vector::reversed
type: function
doc:
<comment>Description:</comment>
  Returns a reversed copy
  
  Returns a reversed copy of the vector.

<comment>Return:</comment>
  <info>Ds\Vector</info>  A reversed copy of the vector.
               The current instance is not affected. 
             
             The current instance is not affected.


id: Ds\Vector::rotate
type: function
doc:
<comment>Description:</comment>
  Rotates the vector by a given number of rotations
  
  Rotates the vector by a given number of rotations, which is equivalent to successively calling
  $vector-&gt;push($vector-&gt;shift()) if the number of rotations is positive, or
  $vector-&gt;unshift($vector-&gt;pop()) if negative.

<comment>Param:</comment>
  <info>int</info>  <strong>$rotations</strong>  The number of times the vector should be rotated.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.. The vector of the current instance will be rotated.


id: Ds\Vector::slice
type: function
doc:
<comment>Description:</comment>
  Returns a sub-vector of a given range
    
  
  Creates a sub-vector of a given range.

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>   The index at which the sub-vector starts.
                
                If positive, the vector will start at that index in the vector. If negative, the
                vector will start that far from the end.
  <info>int</info>  <strong>$length</strong>  If a length is given and is positive, the resulting vector will have up to that many
                values in it.
                 If the length results in an overflow, only values up to the end of the vector will
                be included.
                 If a length is given and is negative, the vector will stop that many values from
                the end.
                 If a length is not provided, the resulting vector will contain all values between
                the index and the end of the vector.

<comment>Return:</comment>
  <info>Ds\Vector</info>  A sub-vector of the given range.


id: Ds\Vector::sort
type: function
doc:
<comment>Description:</comment>
  Sorts the vector in-place
   
  
  Sorts the vector in-place, using an optional <strong>$comparator</strong> function.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  La fonction de comparaison doit retourner un entier inférieur à, égal à, ou
                         supérieur
                         à 0 si le premier argument est considéré comme, respectivement, inférieur
                         à, égal à, ou supérieur au second.
                         
                         Retourner des valeurs non-entières à partir de la fonction
                         de comparaison, telles que <info>float</info>, entraînera une conversion interne
                         de la valeur de retour du rappel en <info>int</info>. Ainsi, des valeurs telles que
                         <return>0.99</return> et <return>0.1</return> seront toutes deux converties en une
                         valeur entière de <return>0</return>, ce qui comparera de telles valeurs comme égales.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ds\Vector::sorted
type: function
doc:
<comment>Description:</comment>
  Returns a sorted copy
  
  Returns a sorted copy, using an optional <strong>$comparator</strong> function.

<comment>Param:</comment>
  <info>callable</info>  <strong>$comparator</strong>  La fonction de comparaison doit retourner un entier inférieur à, égal à, ou
                         supérieur
                         à 0 si le premier argument est considéré comme, respectivement, inférieur
                         à, égal à, ou supérieur au second.
                         
                         Retourner des valeurs non-entières à partir de la fonction
                         de comparaison, telles que <info>float</info>, entraînera une conversion interne
                         de la valeur de retour du rappel en <info>int</info>. Ainsi, des valeurs telles que
                         <return>0.99</return> et <return>0.1</return> seront toutes deux converties en une
                         valeur entière de <return>0</return>, ce qui comparera de telles valeurs comme égales.

<comment>Return:</comment>
  <info>Ds\Vector</info>  Returns a sorted copy of the vector.


id: Ds\Vector::sum
type: function
doc:
<comment>Description:</comment>
  Returns the sum of all values in the vector
  
  Returns the sum of all values in the vector.
  
  Arrays and objects are considered equal to zero when calculating the sum.

<comment>Return:</comment>
  <info>int|float</info>  The sum of all the values in the vector as either a <info>float</info> or <info>int</info> depending on the
             values in the vector.


id: Ds\Vector::toArray
type: function
doc:
<comment>Description:</comment>
  Converts the vector to an tableau
    
  
  Converts the vector to an tableau.
  
  Casting to an tableau is not supported yet.

<comment>Return:</comment>
  <info>array</info>  An tableau containing all the values in the same order as the vector.


id: Ds\Vector::unshift
type: function
doc:
<comment>Description:</comment>
  Adds values to the front of the vector
  
  Adds values to the front of the vector, moving all the current values forward to make room for the
  new values.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  The values to add to the front of the vector.  Multiple values will be added in
                  the same order that they are passed.
                  
                  Multiple values will be added in the same order that they are passed.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EIO_DT_MPC
type: constant
doc:
<comment>Description:</comment>
  Noeud de type périphérique à caractères multiplexés (v7+coherent)


id: EIO_DT_UNKNOWN
type: constant
doc:
<comment>Description:</comment>
  Noeud de type inconnu (assez commun). Un appel à la fonction <strong>stat()</strong> est nécessaire.


id: EIO_READDIR_DENTS
type: constant
doc:
<comment>Description:</comment>
  Drapeau de la fonction <strong>eio_readdir()</strong>. Si spécifié, l'argument résultant de la fonction de rappel
  devient un tableau contenant les clés suivantes : <return>'names'</return> - tableau de noms de dossier <return>'dents'</return> -
  tableau de tableaux <return>struct eio_dirent</return> contenant les clés suivantes : <return>'name'</return> - le nom du dossier ;
  <return>'type'</return> - une constante EIO_DT_* ; <return>'inode'</return> - le nombre d'inodes, si disponible, sinon, non spécifié
  ;


id: EIO_READDIR_DIRS_FIRST
type: constant
doc:
<comment>Description:</comment>
  Lorsque ce drapeau est spécifié, les noms seront retournés dans un ordre où les dossiers arrivent
  en premier, dans un ordre optimal suivant les statistiques.


id: EIO_READDIR_STAT_ORDER
type: constant
doc:
<comment>Description:</comment>
  Lorsque ce drapeau est spécifié, alors les noms seront retournés dans un ordre utilisant
  uniquement <return>stat</return>. Lorsque vous avez l'intention d'utiliser la fonction <strong>stat()</strong> sur tous les fichiers
  du dossier fourni, l'ordre retourné grâce à ce drapeau sera bien plus rapide.


id: EIO_SEEK_CUR
type: constant
doc:
<comment>Description:</comment>
  La position est définie à sa position courante, à laquelle on ajoute <strong>$offset</strong> octets.


id: EIO_SEEK_END
type: constant
doc:
<comment>Description:</comment>
  La position est définie à la taille du fichier, à laquelle on ajoute <strong>$offset</strong> octets.


id: EIO_SEEK_SET
type: constant
doc:
<comment>Description:</comment>
  La position est définie pour spécifier le nombre d'octets (<strong>$offset</strong>).


id: ENCHANT_ISPELL
type: constant
doc:
<comment>Description:</comment>
  Type de dictionnaire pour Ispell. Utilisé avec <strong>enchant_broker_get_dict_path()</strong> et
  <strong>enchant_broker_set_dict_path()</strong>. Obsolète à partir de PHP 8.0.0.


id: ENCHANT_MYSPELL
type: constant
doc:
<comment>Description:</comment>
  Type de dictionnaire pour MySpell. Utilisé avec <strong>enchant_broker_get_dict_path()</strong> et
  <strong>enchant_broker_set_dict_path()</strong>. Obsolète à partir de PHP 8.0.0.


id: EXIF_USE_MBSTRING
type: constant
doc:
<comment>Description:</comment>
  Cette constante a la valeur <return>1</return> si        mbstring est activé, sinon sa  valeur est <return>0</return>.


id: EXP_EOF
type: constant
doc:
<comment>Description:</comment>
  Valeur, retournée par <strong>expect_expectl()</strong>, lorsque EOF est atteint.


id: EXP_FULLBUFFER
type: constant
doc:
<comment>Description:</comment>
  Valeur, retournée par <strong>expect_expectl()</strong> si aucun motif n'a été trouvé.


id: EXP_GLOB
type: constant
doc:
<comment>Description:</comment>
  Indique que le motif est un motif de style de chaîne de caractères glob.


id: EXP_TIMEOUT
type: constant
doc:
<comment>Description:</comment>
  Valeur, retournée par <strong>expect_expectl()</strong> sur le dépassement du temps en secondes, spécifiée par la
  valeur expect.timeout


id: EmptyIterator
type: class
doc:
<comment>Description:</comment>
  La classe <class>EmptyIterator</class> crée un objet itérateur vide.


id: EmptyIterator::current
type: function
doc:
<comment>Description:</comment>
  La méthode EmptyIterator::current
  
  Cette méthode ne doit pas être appelée. Elle émet une exception en cas d'accès.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Return:</comment>
  <info>never</info>  Aucune valeur n'est retournée.


id: EmptyIterator::key
type: function
doc:
<comment>Description:</comment>
  The key() method
  
  Cette méthode ne doit pas être appelée. Elle émet une exception en cas d'accès.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Return:</comment>
  <info>never</info>  Aucune valeur n'est retournée.


id: EmptyIterator::next
type: function
doc:
<comment>Description:</comment>
  La méthode EmptyIterator::next
  
  Aucune opération. Rien à faire.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EmptyIterator::rewind
type: function
doc:
<comment>Description:</comment>
  La méthode EmptyIterator::rewind
  
  EmptyIterator::rewind
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EmptyIterator::valid
type: function
doc:
<comment>Description:</comment>
  La méthode EmptyIterator::valid
  
  La méthode EmptyIterator::valid.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Return:</comment>
  <info>false</info>  <info>false</info>


id: EnchantBroker
type: class
doc:
<comment>Description:</comment>
  Une classe totalement opaque qui remplace les ressources <return>enchant_broker</return> à partir de PHP 8.0.0.


id: EnchantDictionary
type: class
doc:
<comment>Description:</comment>
  Une classe totalement opaque qui remplace les ressources <return>enchant_dict</return> à partir de PHP 8.0.0.


id: Error
type: class
doc:
<comment>Description:</comment>
  Classe de base pour les <info>Error</info>s qui se produisent lors de la génération ou de l'utilisation
  d'aléatoire.


id: Error::__clone
type: function
doc:
<comment>Description:</comment>
  Cloner l'erreur
  
  Une erreur ne peut pas être cloner, cette méthode produit donc une erreur fatale.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Error::__construct
type: function
doc:
<comment>Description:</comment>
  Constructeur de l'objet Error
  
  Construit l'erreur.

<comment>Param:</comment>
  <info>string</info>          <strong>$message</strong>   Le message d'erreur.
  <info>int</info>             <strong>$code</strong>      Le code d'erreur.
  <info>Throwable|null</info>  <strong>$previous</strong>  Le précédent throwable utilisé pour l'enchaînement d'exception.


id: Error::__toString
type: function
doc:
<comment>Description:</comment>
  Représentation sous forme de chaîne de caractère de l'erreur
  
  Retourne la représentation sous forme de chaîne de caractères de l'erreur.

<comment>Return:</comment>
  <info>string</info>  Retourne la représentation sous forme de chaîne de caractères de l'erreur.

<comment>See Also:</comment>
   * Throwable::__toString


id: Error::getCode
type: function
doc:
<comment>Description:</comment>
  Récupère le code d'erreur
  
  Retourne le code d'erreur.

<comment>Return:</comment>
  <info>int</info>  Retourne le code d'erreur en tant que <info>int</info>

<comment>See Also:</comment>
   * Throwable::getCode


id: Error::getFile
type: function
doc:
<comment>Description:</comment>
  Récupère le fichier où l'erreur s'est produite
  
  Récupère le fichier où l'erreur s'est produite.

<comment>Return:</comment>
  <info>string</info>  Retourne le nom de fichier où l'erreur s'est produite

<comment>See Also:</comment>
   * Throwable::getFile


id: Error::getLine
type: function
doc:
<comment>Description:</comment>
  Récupère le numéro de ligne où l'erreur s'est produite
  
  Récupère le numéro de ligne où l'erreur s'est produite.

<comment>Return:</comment>
  <info>int</info>  Retourne le numéro de ligne où l'erreur s'est produite

<comment>See Also:</comment>
   * Throwable::getLine


id: Error::getMessage
type: function
doc:
<comment>Description:</comment>
  Récupère le message d'erreur
  
  Retourne le message d'erreur.

<comment>Return:</comment>
  <info>string</info>  Retourne le message d'erreur en tant que chaîne de caractères.

<comment>See Also:</comment>
   * Throwable::getMessage


id: Error::getPrevious
type: function
doc:
<comment>Description:</comment>
  Retourne Throwable précédent
  
  Retourne Throwable précédent (le troisième paramètre de Error::__construct).

<comment>Return:</comment>
  <info>Throwable|null</info>  Retourne le <class>Throwable</class> précédent si disponible ou <info>null</info> sinon.

<comment>See Also:</comment>
   * Throwable::getPrevious


id: Error::getTrace
type: function
doc:
<comment>Description:</comment>
  Récupère la trace d'appels
  
  Retourne la trace d'appels.

<comment>Return:</comment>
  <info>array</info>  Retourne la trace d'appels en tant que tableau.

<comment>See Also:</comment>
   * Throwable::getTrace


id: Error::getTraceAsString
type: function
doc:
<comment>Description:</comment>
  Récupère la trace d'appels en tant que chaîne de caractères
  
  Retourne la trace d'appels en tant que chaîne de caractères.

<comment>Return:</comment>
  <info>string</info>  Retourne la trace d'appels en tant que chaîne de caractères.

<comment>See Also:</comment>
   * Throwable::getTraceAsString


id: ErrorException::__construct
type: function
doc:
<comment>Description:</comment>
  Construit l'exception
  
  Construit l'exception.

<comment>Param:</comment>
  <info>string</info>          <strong>$message</strong>   Le message de l'exception à lancer.
  <info>int</info>             <strong>$code</strong>      Le code de l'exception.
  <info>int</info>             <strong>$severity</strong>  Le degré de sévérité de l'exception.
                             
                             Bien que la gravité puisse être n'importe quelle valeur entier, il est
                             prévu que les constantes d'erreur soient utilisées.
  <info>string|null</info>     <strong>$filename</strong>  Le fichier depuis lequel l'exception est lancée.
  <info>int|null</info>        <strong>$line</strong>      Le numéro de ligne depuis laquelle l'exception est lancée.
  <info>Throwable|null</info>  <strong>$previous</strong>  La précédente exception utilisée pour le chaînage des exceptions.


id: ErrorException::getSeverity
type: function
doc:
<comment>Description:</comment>
  Récupère la sévérité de l'exception
  
  Retourne la sévérité de l'exception.

<comment>Return:</comment>
  <info>int</info>  Retourne le degré de sévérité de l'exception.


id: Ev
type: class
doc:
<comment>Description:</comment>
  La classe Ev est une classe statique fournissant l'accès à la boucle par défaut ainsi qu'à
  quelques opérations communes.


id: Ev::BACKEND_ALL
type: constant
doc:
<comment>Description:</comment>
  Essai tous les backends (y compris les corrompus). Il n'est pas recommandé de l'utiliser
  explicitement. Les opérateurs de bits devraient être appliqués ici (i.e. <info>Ev::BACKEND_ALL</info> & ~
  <info>Ev::BACKEND_KQUEUE</info>). Utilisez la méthode Ev::recommendedBackends ou ne spécifiez aucun backend.


id: Ev::BACKEND_EPOLL
type: constant
doc:
<comment>Description:</comment>
  Backend <return>epoll(7)</return> spécifique à Linux pour, à la fois, les kernels avant et après 2.6.9.


id: Ev::BACKEND_KQUEUE
type: constant
doc:
<comment>Description:</comment>
  Backend <return>kqueue</return> utilisé sur la plupart des systèmes BSD. Le watcher <class>EvEmbed</class> peut être utilisé pour
  embarquer une boucle (avec le backend kqueue) dans une autre. Actuellement, une boucle peut tenter
  de créer une boucle d'événements avec le backend <return>kqueue</return> et l'utiliser uniquement pour les sockets.


id: Ev::BACKEND_MASK
type: constant
doc:
<comment>Description:</comment>
  Pas un backend, mais un masque pour sélectionner tous les bits d'un backend depuis la valeur de
  <strong>$flags</strong> pour représenter dans un masque n'importe quel backend (i.e. lors de la modification de la
  variable d'environnement LIBEV_FLAGS).


id: Ev::CHECK
type: constant
doc:
<comment>Description:</comment>
  Tous les watchers <class>EvCheck</class> sont placés en file d'attente juste après que Ev::run ait récupéré les
  nouveaux événements, mais avant, toutes les fonctions de rappel de tous les événements reçus sont
  placées en file d'attente. Ainsi, les watchers <class>EvCheck</class> seront appelés avant tout autre watcher de
  même priorité ou de priorité plus basse dans une itération de boucle d'événements.


id: Ev::CHILD
type: constant
doc:
<comment>Description:</comment>
  Le <strong>$pid</strong> spécifié dans EvChild::__construct a reçu une modification de statut.


id: Ev::CUSTOM
type: constant
doc:
<comment>Description:</comment>
  Pas encore envoyé (ou utilisé) par <return>libev</return>, mais peut être librement utilisé par les utilisateurs
  <return>libev</return> pour signaler les watchers (i.e. via la méthode EvWatcher::feed).


id: Ev::EMBED
type: constant
doc:
<comment>Description:</comment>
  La boucle d'événements embarquée spécifié dans le watcher <class>EvEmbed</class> a besoin de toute l'attention.


id: Ev::ERROR
type: constant
doc:
<comment>Description:</comment>
  Une erreur inconnue est survenue, le watcher s'est arrêté. Ceci peut arriver car le watcher n'a
  pas pu être démarré proprement car <return>libev</return> a dépassé la mémoire allouée, une descripteur de fichier
  a été fermé, ou tout autre problème. <return>Libev</return> considère ceci comme des bogues de l'application. Voir
  aussi l'anatomie d'un watcher


id: Ev::FLAG_FORKCHECK
type: constant
doc:
<comment>Description:</comment>
  Fait que libev va vérifier si un fork existe à chaque itération, au lieu d'appeler manuellement la
  méthode EvLoop::fork. Ce mécanisme fonctionne en appelant <return>getpid()</return> à chaque itéraiton de la
  boucle, et ainsi, va ralentir la boucle d'événements qui possèdent beaucoup d'itérations, mais
  habituellement, ce ralentissement n'est pas notable. La configuration de ce drapeau ne peut pas
  être écrasée ou spécifiée dans la variable d'environnement LIBEV_FLAGS.


id: Ev::FLAG_NOENV
type: constant
doc:
<comment>Description:</comment>
  Si ce drapeau est utilisé (ou que le programme exécute setuid ou setgid), <return>libev</return> ne va pas regarder
  la variable d'environnement LIBEV_FLAGS. Sinon (comportement par défaut), LIBEV_FLAGS va écraser
  complètement le drapeau s'il est trouvé. Utile pour des tests de performance et pour la recherche
  de bogues.


id: Ev::FLAG_NOINOTIFY
type: constant
doc:
<comment>Description:</comment>
  Lorsque ce drapeau est spécifié, <return>libev</return> ne va pas tenter d'utiliser l'API <return>inotify</return> pour ces watchers
  ev_stat. Ce drapeau peut être utile pour conserver les descripteurs de fichers inotify, sachant
  que sinon, chaque boucle utilisant les watchers <return>ev_stat</return> va consommer un gestionnaire <return>inotify</return>.


id: Ev::FLAG_NOSIGMASK
type: constant
doc:
<comment>Description:</comment>
  Lorsque ce drapeau est spécifié, <return>libev</return> ne va pas modifier le masque du signal. Ceci signifie que
  vous devez vous assurer que les signaux sont déverrouillés avant de les recevoir.
  
  Ce comportement est utile pour la gestion personalisée des signaux, ou la gestion des signaux
  uniquement dans des threads spécifiques.


id: Ev::FLAG_SIGNALFD
type: constant
doc:
<comment>Description:</comment>
  Lorsque ce drapeau est spécifié, <return>libev</return> va tenter d'utiliser l'API <return>signalfd</return> pour ces watchers
  ev_signal (et ev_child ). Cette API délivre les signaux de façon asynchrones, ce qui la rend plus
  rapide, et peut permettre la récupération des données des signaux en attente. Elle peut également
  simplifier la gestion des signaux avec les threads, sachant que les signaux sont des propriétés
  bloquées dans les threads. <return>Signalfd</return> ne sera pas utilisé par défaut.


id: Ev::IDLE
type: constant
doc:
<comment>Description:</comment>
  Le watcher <class>EvIdle</class> fonctionne lorsqu'il n'a aucune autre tâche à faire avec les autres watchers.


id: Ev::PERIODIC
type: constant
doc:
<comment>Description:</comment>
  Le watcher <class>EvPeriodic</class> a atteint son délai maximal d'attente.


id: Ev::PREPARE
type: constant
doc:
<comment>Description:</comment>
  Tous les watchers <class>EvPrepare</class> sont appelés juste avant le démarrage de Ev::run. Ainsi, les watchers
  <class>EvPrepare</class> sont les derniers watchers à être appelés avant le repos de la boucle d'événements, ou
  la mise en file des nouveaux événements.


id: Ev::READ
type: constant
doc:
<comment>Description:</comment>
  Le descripteur de fichier dans le watcher <class>EvIo</class> est devenu accessible en lecture.


id: Ev::RUN_NOWAIT
type: constant
doc:
<comment>Description:</comment>
  Signifie que la boucle d'événements va regarder si de nouveaux événements sont présents, va gérer
  ces nouveaux événements, et tous les événements spéciaux, mais ne va pas attendre et bloquer le
  processus dans le cas où il n'y a pas d'événement, et va retourner après une itération de la
  boucle. Il est parfois utile de palcer en file et gérer les nouveaux événements pendant de longs
  calculs, et ce, pour garder le programme actif.


id: Ev::RUN_ONCE
type: constant
doc:
<comment>Description:</comment>
  Signifie que la boucle d'événements va regarder si de nouveaux événements sont présents (et
  attendre, si nécessaire), et va les gérer, eux et les spéciaux. Elle va bloquer le processus tant
  qu'au moins un événement arrive (qui peut être un événement interne à libev, aussi, il n'est pas
  garantie qu'une fonction de rappel enregistrée par l'utilisateur ne soit appelée), et va retourner
  après une itération de la boucle.


id: Ev::STAT
type: constant
doc:
<comment>Description:</comment>
  Le chemin spécifié dans le watcher <class>EvStat</class> a modifié ses attributs.


id: Ev::TIMER
type: constant
doc:
<comment>Description:</comment>
  Le watcher <class>EvTimer</class> a atteint son délai maximal d'attente.


id: Ev::WRITE
type: constant
doc:
<comment>Description:</comment>
  Le descripteur de fichier dans le watcher <class>EvIo</class> est devenu accessible en écriture.


id: Ev::backend
type: function
doc:
<comment>Description:</comment>
  Retourne un entier décrivant le backend utilisé par libev
  
  Retourne un entier décrivant le backend utilisé par libev. Voir les drapeaux de Backend.

<comment>Return:</comment>
  <info>int</info>  Retourne un entier (masque d'octets) décrivant le backend utilisé par libev.

<comment>See Also:</comment>
   * <class>EvEmbed</class>
   * Ev::embeddableBackends
   * Ev::recommendedBackends
   * Ev::supportedBackends
   * Les drapeaux de Backend


id: Ev::depth
type: function
doc:
<comment>Description:</comment>
  Retourne la profondeur de récursion
  
  Le nombre de fois où la méthode Ev::run est entrée, moins le nombre de fois où la méthode Ev::run
  est sortie normalement, en d'autres termes, la profondeur de récursion. En dehors de Ev::run, ce
  nombre vaut <info>0</info>. Dans une fonction de rappel, ce nombre vaut <info>1</info>, tant que la méthode Ev::run est
  invoquée récursivement (ou depuis un autre thread), auquel cas, il sera supérieur.

<comment>Return:</comment>
  <info>int</info>  <strong>ev_depth()</strong> retourne la profondeur de récursion de la boucle par défaut.

<comment>See Also:</comment>
   * Ev::iteration


id: Ev::embeddableBackends
type: function
doc:
<comment>Description:</comment>
  Retourne le jeu de backends qui sont encapsulés dans les autres boucles d'événements
  
  Retourne le jeu de backends qui sont encapsulés dans les autres boucles d'événements.

<comment>Return:</comment>
  <info>int</info>  Retourne un masque d'octets qui peut contenir les drapeaux de backend combinés avec
       l'opérateur OR.

<comment>See Also:</comment>
   * <class>EvEmbed</class>
   * Ev::recommendedBackends
   * Ev::supportedBackends
   * Les drapeaux de Backend
   * Les exemples


id: Ev::feedSignal
type: function
doc:
<comment>Description:</comment>
  Simule la réception d'un signal
  
  Simule la réception d'un signal. Il est sécurisé d'appeler cette fonction à n'importe quel moment,
  depuis n'importe quel contexte, y compris depuis un gestionnaire de signaux, ou depuis un thread
  aléatoire. Sa principale utilisation est de personnaliser le gestionnaire de signaux dans le
  processus.
  
  Contrairement à la méthode Ev::feedSignalEvent, cette méthode fonctionne suivant la boucle qui a
  enregistré le signal.

<comment>Param:</comment>
  <info>int</info>  <strong>$signum</strong>  Numéro du signal. Voir la page man de <return>signal(7)</return> pour plus de détails. Vous pouvez
                utiliser les constantes exportées par l'extension <return>pcntl</return>.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * Ev::feedSignalEvent


id: Ev::feedSignalEvent
type: function
doc:
<comment>Description:</comment>
  Simule un événement de signal dans la boucle par défaut
  
  Simule un événement de signal dans la boucle par défaut. Ev va réagir à cet appel comme si le
  signal spécifié par le paramètre <strong>$signal</strong> était survenu.

<comment>Param:</comment>
  <info>int</info>  <strong>$signum</strong>  Numéro du signal. Voir la page man de <return>signal(7)</return> pour plus de détails. Voir aussi les
                constantes exportées par l'extension <return>pcntl</return>.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * Ev::feedSignal


id: Ev::iteration
type: function
doc:
<comment>Description:</comment>
  Retourne le nombre de fois que la boucle d'événement par défaut
     a été sollicitée pour un nouvel événement
  
  Retourne le nombre de fois que la boucle d'événement par défaut a été sollicitée pour un nouvel
  événement. Peut être utile comme compteur de génération.

<comment>Return:</comment>
  <info>int</info>  Retourne le nombre de sollicitation de la boucle d'événement par défaut.

<comment>See Also:</comment>
   * Ev::depth


id: Ev::now
type: function
doc:
<comment>Description:</comment>
  Retourne le temps de démarrage de la dernière itération de la boucle
     d'événement par défaut
  
  Retourne le temps de démarrage de la dernière itération de la boucle d'événement par défaut. C'est
  le temps sur lequel les timers  (<class>EvTimer</class> et <class>EvPeriodic</class>) se basent, et s'y référer est souvent plus
  rapide que d'appeler la méthode Ev::time.

<comment>Return:</comment>
  <info>float</info>  Retourne le nombre de secondes représentant le temps de démarrage de la dernière itération
         de la boucle d'événement par défaut.

<comment>See Also:</comment>
   * Ev::nowUpdate


id: Ev::nowUpdate
type: function
doc:
<comment>Description:</comment>
  Etablit le temps courant en demandant au kernel ; met à jour le
     temps retourné par Ev::now pendant l'exécution
  
  Etablit le temps courant en demandant au kernel ; met à jour le temps retourné par la méthode
  Ev::now pendant l'exécution. Ceci est une opération couteuse, et est habituellement effectuée
  automatiquement dans la méthode Ev::run.
  
  Cette méthode est rarement utile, mais lorsque des fonctions de rappel d'événement s'exécutent
  pendant très longtemps sans entrer dans une boucle d'événement, mettre à jour libev avec le temps
  courant est une bonne idée.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * Ev::now


id: Ev::recommendedBackends
type: function
doc:
<comment>Description:</comment>
  Retourne un masque d'octets de backends recommandés
     pour la plateforme courante
  
  Retourne un jeu de tous les backends compilés dans ce binaire de <return>libev</return>, et également recommandée
  pour cette plateform, ce qui signifie qu'ils devraient fonctionner pour la plupart des types de
  descripteur de fichiers. Ce jeu est générallement plus petit que celui retourné par la fonction
  <strong>ev_supported_backends()</strong>, sachant que, par exemple, <return>kqueue</return> est cassé sur les systèmes <return>BSD</return> et ne
  sera pas auto-détecté tant qu'il n'est pas requis explicitement. C'est le jeu de backends que
  <return>libev</return> utilisera lorsqu'aucun ne sera demandé explicitement.

<comment>Return:</comment>
  <info>int</info>  Retourne un masque d'octets contenant les drapeaux des backends combinés en utilisant
       l'opérateur OR.

<comment>See Also:</comment>
   * <class>EvEmbed</class>
   * Ev::embeddableBackends
   * Ev::supportedBackends
   * Les drapeaux de Backend
   * Les exemples


id: Ev::resume
type: function
doc:
<comment>Description:</comment>
  Reprend la boucle d'événement par défaut précédemment stoppée
  
  Les méthodes Ev::suspend et Ev::resume suspendent et reprennent une boucle.
  
  Tous les watchers timer seront suspendus pendant la durée entre la suspension et la reprise et
  tous les watchers periodic seront reprogrammés (et perdront tous les événements qui seront
  survenus pendant le temps de cette suspension).
  
  Après l'appel à la méthode Ev::suspend, il n'est pas autorisé d'appeler une fonction sur la boucle
  fournie autre que la méthode Ev::resume. De plus, il n'est pas autorisé d'appeler la méthode
  Ev::resume sans un précédent appel à la méthode Ev::suspend.
  
  L'appel à une suspension/reprise a comme effet de bord de mettre à jour le temps de la boucle
  d'événement (voir la méthode Ev::nowUpdate).

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * Ev::suspend


id: Ev::run
type: function
doc:
<comment>Description:</comment>
  Commence la vérification des événements et appelle les fonctions
     de rappels pour la boucle par défaut
  
  Commence la vérification des événements et appelle les fonctions de rappel pour la boucle par
  défaut. Retourne lorsqu'une fonction de rappel appelle la méthode Ev::stop, ou lorsque les
  drapeaux sont différents de zéro (auquel cas, la valeur retournée sera <info>true</info>), ou bien lorsqu'il
  n'y a plus d'observateur actif qui référence la boucle (EvWatcher::keepalive vaut <info>true</info>), auquel
  cas, la valeur retournée sera <info>false</info>. La valeur retournée peut généralement être interprétée comme
  ceci : si <info>true</info>, il y a encore des travaux à faire.

<comment>Param:</comment>
  <info>int</info>  <strong>$flags</strong>  Le paramètre optionnel <strong>$flags</strong> peut être une des valeurs suivantes :  Liste des
               valeurs possibles de <strong>$flags</strong> <strong>$flags</strong>Description<info>0</info>Le comportement par défaut, décrit
               ci-dessus<info>Ev::RUN_ONCE</info>Bloque au moins un (mise en attente, mais ne boucle
               plus)<info>Ev::RUN_NOWAIT</info> Ne pas bloquer du tout (récupère/gère les événements mais
               n'attend pas)
               
               Voir les constantes de drapeaux d'exécution.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * Ev::stop
   * EvLoop::run


id: Ev::sleep
type: function
doc:
<comment>Description:</comment>
  Bloque le processus pendant un nombre de secondes fourni
  
  Bloque le processus pendant un nombre de secondes fourni.

<comment>Param:</comment>
  <info>float</info>  <strong>$seconds</strong>  Nombre de secondes

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Ev::stop
type: function
doc:
<comment>Description:</comment>
  Arrête la boucle d'événements par défaut
  
  Arrête la boucle d'événements par défaut.

<comment>Param:</comment>
  <info>int</info>  <strong>$how</strong>  Une constants parmie les constantes Ev::BREAK_*.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * Ev::run


id: Ev::supportedBackends
type: function
doc:
<comment>Description:</comment>
  Retourne le jeu de backends supportés par la configuration courant de libev
  
  Retourne le jeu de backends supportés par la configuration courant de libev.

<comment>Return:</comment>
  <info>int</info>  Retourne un masque d'octets qui peut contenir les drapeaux de backend combinés en utilisant
       l'opérateur OR.

<comment>See Also:</comment>
   * <class>EvEmbed</class>
   * Ev::recommendedBackends
   * Ev::embeddableBackends
   * Les drapeaux de backend
   * Les exemples


id: Ev::suspend
type: function
doc:
<comment>Description:</comment>
  Suspend la boucle par défaut d'événements
  
  Les méthodes Ev::suspend et Ev::resume suspendent et reprennent la boucle par défaut.
  
  Tous les minuteurs des observateurs seront mis en suspend entre une suspension et une reprise, et
  tous les observateurs périodiques seront remis à jour (aussi, tous les événements survenus pendant
  cette suspension seront perdus).
  
  Après un appel à la méthode Ev::suspend, iil n'est pas autorisé d'appeler une fonction sur la
  boucle fournie autre que la méthode Ev::resume. De même, il n'est pas autorisé d'appeler la
  méthode Ev::resume sans un précédent appel à la méthode Ev::suspend.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * Ev::resume


id: Ev::time
type: function
doc:
<comment>Description:</comment>
  Retourne le temps courant depuis l'époque Unix
  
  Retourne le temps courant depuis l'époque Unix. Vous devriez plutôt utiliser la méthode Ev::now.

<comment>Return:</comment>
  <info>float</info>  Retourne le temps courant, en nombre de secondes, depuis l'époque Unix.

<comment>See Also:</comment>
   * Ev::now


id: Ev::verify
type: function
doc:
<comment>Description:</comment>
  Effectue des vérifications internes de consistence (pour le débogage)
  
  Effectue des vérifications internes de consistence (pour le débogage de libev) et met fin au
  programme si une structure de données corrompue a été trouvée.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EvCheck
type: class
doc:
<comment>Description:</comment>
  Les observateurs <class>EvPrepare</class> et <class>EvCheck</class> sont habituellement utilisés ensemble. L'observateur
  <class>EvPrepare</class> sera appelé avant les blocs du processus, alors que l'observateur <class>EvCheck</class> sera appelé
  après.
  
  Il n'est pas autorisé d'appeler la méthode EvLoop::run ou une méthode/fonction similaire qui entre
  dans la boucle de l'événement courante depuis soit l'observateur <class>EvPrepare</class>, soit l'observateur
  <class>EvCheck</class>. Toutefois, cela est possible pour toutes les autres boucles que la courante. La cause de
  cela est qu'il n'est pas nécessaire de vérifier la récursion dans ces observateurs, i.e. la
  séquence suivante sera toujours : <class>EvPrepare</class> -&gt; blocage -&gt; <class>EvCheck</class>, aussi, avoir un
  observateur pour chacun n'est pas utile, sachant qu'ils seront toujours appelés ensemble lors de
  l'appel au blocage.
  
  Le but primaire est d'intégrer d'autres mécanismes d'événements dans la bibliothèque libev, avec
  une utilisation avancée. Ils peuvent être utilisés, par exemple, pour surveiller les modifications
  de variables, implémenter des observateurs personnalisés, intégrer net-snmp ou une bibliothèque
  supplémentaire, et bien plus encore. Ils peuvent être aussi utiles pour mettre en cache des
  données, et vouloir les afficher après le blocage.
  
  Il est recommandé de fournir une priorité haute à <class>EvCheck</class> (<info>Ev::MAXPRI</info>) afin de s'assurer qu'il
  sera exécuté avant tout autre observateur de la file (à contrario, peu importe pour l'observateur
  <class>EvPrepare</class>).
  
  De plus, les observateurs <class>EvCheck</class> ne doivent pas activer/alimenter des événements. Bien que libev
  supporte cela, ils peuvent être exécutés avant que les autres observateurs <class>EvCheck</class> ne terminent
  leur travaux.


id: EvCheck::__construct
type: function
doc:
<comment>Description:</comment>
  Construit l'objet d'observation EvCheck
  
  Construit l'objet d'observation <class>EvCheck</class>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Voir les fonctions de  rappel des observations.
  <info>mixed</info>     <strong>$data</strong>      Données personnalisées associées avec l'observateur.
  <info>int</info>       <strong>$priority</strong>  Priorité de l'observateur

<comment>See Also:</comment>
   * <class>EvPrepare</class>
   * EvLoop::check


id: EvCheck::createStopped
type: function
doc:
<comment>Description:</comment>
  Crée une instance d'un observateur stoppé EvCheck
  
  Crée une instance d'un observateur stoppé EvCheck.

<comment>Param:</comment>
  <info>string</info>  <strong>$callback</strong>  Voir les  fonctions de rappel des observateurs.
  <info>string</info>  <strong>$data</strong>      Données personnalisées à associer avec l'observateur.
  <info>string</info>  <strong>$priority</strong>  Priorité de l'observateur

<comment>Return:</comment>
  <info>object</info>  Retourne l'objet EvCheck en cas de succès.

<comment>See Also:</comment>
   * <class>EvPrepare</class>


id: EvChild
type: class
doc:
<comment>Description:</comment>
  Les watchers <class>EvChild</class> sont lancés lorsque le processus recoit un <info>SIGCHLD</info> en réponse à des
  modifications de statut de fils (typiquement, lorsqu'un fils meurt ou sort). Il est permis
  d'installer un watcher <info>EvChild</info> après que le fils n'ait été forké (ce qui implique qu'il a du déjà
  exister), tant que la boucle d'événements n'a pas débutée (ou continué depuis un watcher), i.e.
  forker puis, enregistrer immédiatement un watcher pour le fils est la bonne méthode, mais forker
  et enregistrer un watcher après quelques itérations de la boucle d'événements ou dans la prochaine
  invocation de la fonction de rappel n'est pas la bonne méthode.
  
  Il est seulement autorisé d'enregistrer des watchers <class>EvChild</class> dans la boucle par défaut.


id: EvChild::__construct
type: function
doc:
<comment>Description:</comment>
  Construit l'objet d'observation EvChild
  
  Construit l'objet d'observateur <class>EvChild</class>.
  
  Appelle la fonction de rappel lorsqu'une modification de statut d'un processus  dont l'ID <strong>$pid</strong> (ou
  de tout PID s'il vaut <info>0</info>) a été reçue (une modification de statut survient lorsque le processus se
  termine ou est tué, ou lorsque le paramètre <strong>$trace</strong> vaut <info>true</info>, lorsque le processus est stoppé ou
  continué). En d'autres termes, lorsque le processus reçoit un <info>SIGCHLD</info>, Ev va récupérer tous les
  status de sortie/d'attente pour tous les fils modifiés/zombies et va appeler la fonction de
  rappel.
  
  Il est valide d'installer un observateur sur le fils après qu'un <class>EvChild</class> ne soit sorti, mais avant
  que la boucle d'événement n'est démarrée sa prochaine itération. Par exemple, d'abord, appelez
  <return>fork</return>, puis le nouveau processus fils peut sortie, et uniquement là, un observateur <class>EvChild</class> est
  installé sur le parent pour le nouveau PID.
  
  Vous pourrez accéder aux statuts de sortie/de traçage ainsi qu'aux <strong>$pid</strong> en utilisant les
  propriétés rstatus et rpid de l'objet d'observation.
  
  Le nombre d'observateurs PID par PID n'est pas limité. Ils seront tous appelés.
  
  La méthode EvChild::createStopped ne démarre (active) pas le nouvel observateur créé.

<comment>Param:</comment>
  <info>int</info>       <strong>$pid</strong>       Attend les modifications de statut des processus PID (ou tout processus si
                       PID vaut <info>0</info>).
  <info>bool</info>      <strong>$trace</strong>     Si vaut <info>false</info>, n'active l'observateur que lorsque le processus se termine.
                       Sinon (<info>true</info>), active l'observateur lorsque le processus est stoppé ou
                       continué.
  <info>callable</info>  <strong>$callback</strong>  Voir les fonctions de rappel des observateurs.
  <info>mixed</info>     <strong>$data</strong>      Données personnalisées associées avec l'observateur.
  <info>int</info>       <strong>$priority</strong>  Fonctions de rappel de l'observateur

<comment>See Also:</comment>
   * EvLoop::child


id: EvChild::createStopped
type: function
doc:
<comment>Description:</comment>
  Crée une instance de l'observateur stoppé EvCheck
  
  Identique à EvChild::__construct, mais ne démarre pas automatiquement l'observateur.

<comment>Param:</comment>
  <info>int</info>       <strong>$pid</strong>       Identique à celui utilisé pour EvChild::__construct
  <info>bool</info>      <strong>$trace</strong>     Identique à celui utilisé pour EvChild::__construct
  <info>callable</info>  <strong>$callback</strong>  Voir les fonctions de rappel des observateurs.
  <info>mixed</info>     <strong>$data</strong>      Données personnalisées associées avec l'observateur.
  <info>int</info>       <strong>$priority</strong>  Priorité de l'observateur

<comment>Return:</comment>
  <info>object</info>  

<comment>See Also:</comment>
   * EvChild::__construct
   * EvLoop::child


id: EvChild::set
type: function
doc:
<comment>Description:</comment>
  Configure l'observateur

<comment>Param:</comment>
  <info>int</info>   <strong>$pid</strong>    Identique à celui utilisé pour EvChild::__construct
  <info>bool</info>  <strong>$trace</strong>  Identique à celui utilisé pour EvChild::__construct

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

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


id: EvEmbed::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un objet EvEmbed
  
  Il s'agit d'un type de watcher avancé qui permet d'intégrer une boucle d'événement dans une autre
  (actuellement, seuls les événements IO sont supportés dans la boucle interne, les autres types de
  watcher ne doit pas être utilisés).
  
  Voir la  documentation libev pour plus de détails.
  
  Ce watcher est le plus utile sous les systèmes BSD où <return>kqueue</return> n'est pas utilisé, pour être capable
  de gérer un grand nombre de sockers. Voir l'exemple ci-dessous.

<comment>Param:</comment>
  <info>object</info>    <strong>$other</strong>     Une instance de <class>EvLoop</class>. La boucle à intégrer ; elle doit être encapsulable
                       (voir la méthode Ev::embeddableBackends).
  <info>callable</info>  <strong>$callback</strong>  Voir les fonctions de rappel des Watcher.
  <info>mixed</info>     <strong>$data</strong>      Données personnalisées à associer avec le watcher.
  <info>int</info>       <strong>$priority</strong>  Priorité du Watcher

<comment>See Also:</comment>
   * Ev::embeddableBackends


id: EvEmbed::createStopped
type: function
doc:
<comment>Description:</comment>
  Crée un objet EvEmbed watcher stoppé
  
  Identique à la méthode EvEmbed::__construct, mais ne démarre pas automatiquement le watcher.

<comment>Param:</comment>
  <info>object</info>    <strong>$other</strong>     Identique au paramètre de la méthode EvEmbed::__construct
  <info>callable</info>  <strong>$callback</strong>  Voir les fonctions de rappel des Watcher.
  <info>mixed</info>     <strong>$data</strong>      Données personnalisées à associer avec le watcher.
  <info>int</info>       <strong>$priority</strong>  Priorité du Watcher

<comment>Return:</comment>
  <info>void</info>  Retourne un objet EvEmbed stoppé en cas de succès.

<comment>See Also:</comment>
   * EvEmbed::__construct
   * Ev::embeddableBackends


id: EvEmbed::set
type: function
doc:
<comment>Description:</comment>
  Configure le watcher
  
  Configure le watcher pour utiliser l'objet <strong>$other</strong> de la boucle d'événement.

<comment>Param:</comment>
  <info>object</info>  <strong>$other</strong>  Identique au paramètre de la méthode EvEmbed::__construct

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EvEmbed::sweep
type: function
doc:
<comment>Description:</comment>
  Balaye, une seule fois, et de façon non bloquante la boucle interne
  
  Balaye, une seule fois, et de façon non bloquante la boucle interne. Fonctionne de la même façon
  que ce qui suit, mais dans une façon plus appropriée pour les boucles internes :
  start(Ev::RUN_NOWAIT);
  ?>
  ]]>

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EvWatcher::start


id: EvFork
type: class
doc:
<comment>Description:</comment>
  Les watchers Fork sont appelés lorsqu'un <return>fork()</return> a été détecté (habituellement, parce que signalé à
  libev en appelant la méthode EvLoop::fork). L'invocation est faite avant que la boucle
  d'événements ne bloque le suivant et avant l'appel des watchers <class>EvCheck</class>, et seulement dans le fils
  après le fork. Notez que si quelqu'un appelle EvLoop::fork dans le mauvais processus, le
  gestionnaire de fork sera appelé également.


id: EvFork::__construct
type: function
doc:
<comment>Description:</comment>
  Construit l'objet observateur EvFork
  
  Construit l'objet observateur EvFork et démarre l'observateur automatiquement.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Voir aussi les fonctions de rappels pour les observateurs.
  <info>mixed</info>     <strong>$data</strong>      Données personalisées associées à l'observateur.
  <info>int</info>       <strong>$priority</strong>  Priorité de l'observateur

<comment>See Also:</comment>
   * EvLoop::fork
   * <class>EvCheck</class>


id: EvFork::createStopped
type: function
doc:
<comment>Description:</comment>
  Crée un instance arrêté de la classe de l'observateur EvFork
  
  Identique à la méthode EvFork::__construct mais ne démarre pas automatiquement l'observateur.

<comment>Param:</comment>
  <info>string</info>  <strong>$callback</strong>  Voir les fonctions de rappel d'observateurs.
  <info>string</info>  <strong>$data</strong>      Données personalisées associées avec l'observateur.
  <info>string</info>  <strong>$priority</strong>  Priorité d'observateur

<comment>Return:</comment>
  <info>object</info>  Retourne un objet EvFork (arrêté) en cas de succès.

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


id: EvIdle
type: class
doc:
<comment>Description:</comment>
  Les watchers <class>EvIdle</class> lancent les événements lorsqu'aucun autre événement ayant la même (ou
  supérieure) priorité n'est en attente (<class>EvPrepare</class>, <class>EvCheck</class> et d'autres watchers <class>EvIdle</class> ne comptent
  pas recevoir d'événements).
  
  Aussi, tant que le processus est en cours de gestion des sockets ou des délais d'attente maximal
  (ou même de signaux) de même priorité (ou de priorité supérieure), il ne sera pas lancé. Mais
  lorsque le processus est au ralenti (ou que seuls des watchers ayant une priorité basse ne sont en
  attente), les watchers <class>EvIdle</class> seront appelés une fois par itération de la boucle d'événements - et
  ce, tant qu'ils ne sont pas stoppés, ou que le processus ne recoive plus d'événements et devienne
  ainsi occupé à gérer les travaux ayant une priorité supérieure.
  
  En plus de maintenir le processus non bloquant (ce qui est utile parfois), les watchers <class>EvIdle</class>
  sont un bon endroit pour réaliser des "travaux en pseudo-arrière plan", ou remettre des travaux
  après que la boucle d'événements n'ait gérée les événements exceptionnels.
  
  L'effet le plus notable est que, tant que des watchers idle sont actifs, le processus  ne va pas
  bloquer lors de l'attente de nouveaux événements.


id: EvIdle::__construct
type: function
doc:
<comment>Description:</comment>
  Construit l'objet observateur EvIdle
  
  Construit l'objet observateur EvIdle et démarre automatiquement l'observateur.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Voir les fonctions de rappel des observateurs.
  <info>mixed</info>     <strong>$data</strong>      Données personnalisées associées avec l'observateur.
  <info>int</info>       <strong>$priority</strong>  Priorité de l'observateur

<comment>See Also:</comment>
   * EvIdle::createStopped
   * EvLoop::idle


id: EvIdle::createStopped
type: function
doc:
<comment>Description:</comment>
  Crée une instance d'un objet observateur EvIdle
  
  Identique à la méthode EvIdle::__construct mais ne démarre pas automatiquement l'observateur.

<comment>Param:</comment>
  <info>string</info>  <strong>$callback</strong>  Voir les fonctions de rappel des observateurs.
  <info>mixed</info>   <strong>$data</strong>      Données personnalisées avec l'observateur.
  <info>int</info>     <strong>$priority</strong>  Priorité de l'observateur

<comment>Return:</comment>
  <info>object</info>  Retourne un objet EvIdle en cas de succès.

<comment>See Also:</comment>
   * EvIdle::__construct
   * EvLoop::idle


id: EvIo
type: class
doc:
<comment>Description:</comment>
  Les watchers <class>EvIo</class> vérifient si un descripteur de fichier (ou un socket, ou un flux pouvant être
  transtypé en descripteur de fichier numérique) est accessible en lecture ou en écriture à chaque
  itération de la boucle d'événements, ou, plus précisément, lorsque la lecture ne va pas bloquer le
  processus, et lorsque l'écriture va permettre d'écrire des données. Ce comportement est appelé
  niveau de lancement car les événements sont gardés tant que la condition persiste. Pour stopper la
  réception d'événements, stoppez seulement le watcher.
  
  Le nombre d'événements de lecture/écriture des watchers par <strong>$fd</strong> est illimité. Le fait de définir
  tous les descripteurs de fichiers en mode non-bloquant est généralement une bonne idée (mais ce
  n'est pas requis).
  
  Une autre chose à savoir, c'est qu'il est très facile de recevoir de fausses notifications de
  système prêt à la lecture, i.e. la fonction de rappel peut être appelée avec <info>Ev::READ</info> mais une
  sous-séquence read() peut bloquer en raison du fait qu'il n'y a pas de données. Il est très simple
  de se retrouver dans cette situation. Aussi, il est recommandé de toujours utiliser des I/O non
  bloquants : un read() supplémentaire retournant <info>EAGAIN</info> (ou similaire) est plus préférable à un
  programme qui attend l'arrivée de données.
  
  Si pour une raison ou une autre, il est impossible d'exécuter le <strong>$fd</strong> en mode non-bloquant, alors,
  séparément, re-testez si le descripteur de fichier est réellement prêt. Quelques utilisateurs
  utilisent en plus <info>SIGALRM</info> et un minuteur d'intervalle, juste pour s'assurer qu'aucun blocage
  infini ne soit présent.
  
  Il est recommandé de toujours utiliser le mode non bloquant.


id: EvIo::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un nouvel objet EvIo
  
  Construit un nouvel objet EvIo et démarre l'observateur automatiquement.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Peut être un flux ouvert avec la fonction <strong>fopen()</strong> ou toutes fonctions
                       similaires, descripteurs de fichiers ou sockets.
  <info>int</info>       <strong>$events</strong>    <info>Ev::READ</info> et/ou <info>Ev::WRITE</info>. Voir les masques d'octets.
  <info>callable</info>  <strong>$callback</strong>  Voir les fonctions de rappels des observateurs.
  <info>mixed</info>     <strong>$data</strong>      Données personalisées associées avec l'observateur.
  <info>int</info>       <strong>$priority</strong>  Priorité de l'observateur

<comment>See Also:</comment>
   * EvIo::createStopped
   * EvLoop::io


id: EvIo::createStopped
type: function
doc:
<comment>Description:</comment>
  Crée un objet d'observateur EvIo arrêté
  
  Identique à la méthode EvIo::__construct mais ne démarre pas automatiquement l'observateur.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Identique à la méthode EvIo::__construct
  <info>int</info>       <strong>$events</strong>    Identique à la méthode EvIo::__construct
  <info>callable</info>  <strong>$callback</strong>  Voir les fonctions de rappels des observateurs.
  <info>mixed</info>     <strong>$data</strong>      Données personalisées associées avec l'observateur.
  <info>int</info>       <strong>$priority</strong>  Priorité de l'observateur

<comment>Return:</comment>
  <info>EvIo</info>  Retourne un objet EvIo en cas de succès.

<comment>See Also:</comment>
   * EvIo::__construct
   * EvLoop::io


id: EvIo::set
type: function
doc:
<comment>Description:</comment>
  Configure l'observateur
  
  Configure l'observateur EvIo.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$fd</strong>      Identique à la méthode EvIo::__construct
  <info>int</info>    <strong>$events</strong>  Identique à la méthode EvIo::__construct

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EvLoop
type: class
doc:
<comment>Description:</comment>
  Représente une boucle d'événements qui est toujours distincte de la boucle par défaut.
  Contrairement à la boucle par défaut, elle ne peut pas gérer les watchers <class>EvChild</class>.
  
  Lorsqu'on utilise les threads, nous devons créer une boucle par thread, et utiliser la boucle par
  défaut dans le thread parent.
  
  La boucle d'événements par défaut est initialisée automatiquement par Ev. Elle est accessible via
  les méthodes de la classe <class>Ev</class> ou via la méthode EvLoop::defaultLoop.


id: EvLoop::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un objet de boucle d'événements
  
  Construit l'objet de boucle d'événements.

<comment>Param:</comment>
  <info>int</info>    <strong>$flags</strong>             Un des drapeaux de boucle d'événements
  <info>mixed</info>  <strong>$data</strong>              Données personnalisées à associer avec la boucle.
  <info>float</info>  <strong>$io_interval</strong>       Voir la fonction io_interval
  <info>float</info>  <strong>$timeout_interval</strong>  Voir la fonction timeout_interval

<comment>See Also:</comment>
   * EvLoop::defaultLoop


id: EvLoop::backend
type: function
doc:
<comment>Description:</comment>
  Retourne un entier décrivant le backend utilisé par libev
  
  Identique à la méthode Ev::backend, mais pour l'instance de la boucle.

<comment>Return:</comment>
  <info>int</info>  Retourne un entier décrivant le backend utilisé par libev. Voir la méthode Ev::backend.

<comment>See Also:</comment>
   * Ev::backend


id: EvLoop::check
type: function
doc:
<comment>Description:</comment>
  Crée un objet EvCheck associé avec l'instance de la boucle d'événements courante
  
  Crée un objet EvCheck associé avec l'instance de la boucle d'événements courante.

<comment>Return:</comment>
  <info>EvCheck</info>  Retourne un objet EvCheck object en cas de succès.

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


id: EvLoop::child
type: function
doc:
<comment>Description:</comment>
  Crée un objet EvChild associé avec la boucle d'événements courante
  
  Crée un objet EvChild associé avec la boucle d'événements courante.

<comment>Return:</comment>
  <info>EvChild</info>  Retourne un objet EvChild en cas de succès.

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


id: EvLoop::defaultLoop
type: function
doc:
<comment>Description:</comment>
  Retourne ou crée la boucle d'événements par défaut
  
  Si la boucle d'événements par défaut n'est pas créée, la méthode EvLoop::defaultLoop la crée avec
  les paramètres spécifiés. Sinon, elle retournera l'instance de l'objet correspondant précédemment
  créé en ignorant tous les paramètres.

<comment>Param:</comment>
  <info>int</info>    <strong>$flags</strong>                     Un des drapeaux de boucle d'évéments
  <info>mixed</info>  <strong>$data</strong>                      Données personnalisées à associer avec la boucle.
  <info></info>       <strong>$io_collect_interval</strong>       Voir la fonction io_interval
  <info></info>       <strong>$timeout_collect_interval</strong>  Voir la fonction timeout_interval

<comment>Return:</comment>
  <info>EvLoop</info>  Retourne l'objet EvLoop en cas de succès.

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


id: EvLoop::embed
type: function
doc:
<comment>Description:</comment>
  Crée une instance de l'observateur EvEmbed associé avec l'objet de l'EvLoop courant
  
  Crée une instance de l'observateur <class>EvEmbed</class> associé avec l'objet <class>EvLoop</class> courant.

<comment>Return:</comment>
  <info>EvEmbed</info>  Retourne l'objet EvEmbed en cas de succès.

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


id: EvLoop::fork
type: function
doc:
<comment>Description:</comment>
  Crée un objet EvFork watcher associé avec l'instance de la
     boucle de l'événement courant
  
  Crée un objet EvFork watcher associé avec l'instance de la boucle de l'événement courant

<comment>Return:</comment>
  <info>EvFork</info>  Retourne l'objet EvFork en cas de succès.

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


id: EvLoop::idle
type: function
doc:
<comment>Description:</comment>
  Crée un objet EvIdle watcher associé avec l'instance de la boucle
     de l'événement courant
  
  Crée un objet EvIdle watcher associé avec l'instance de la boucle de l'événement courant

<comment>Return:</comment>
  <info>EvIdle</info>  Retourne un objet EvIdle en cas de succès.

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


id: EvLoop::invokePending
type: function
doc:
<comment>Description:</comment>
  Invoque tous les watchers en attente pendant que leurs statuts
     de file d'attente ne soient réinitialisés
  
  Invoque tous les watchers en attente pendant que leurs statuts de file d'attente ne soient
  réinitialisés.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EvLoop::io
type: function
doc:
<comment>Description:</comment>
  Crée un objet EvIo watcher associé avec l'instance de la boucle
     de l'événement courant
  
  Crée un objet EvIo watcher associé avec l'instance de la boucle de l'événement courant.

<comment>Return:</comment>
  <info>EvIo</info>  Retourne un objet EvIo en cas de succès.

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


id: EvLoop::loopFork
type: function
doc:
<comment>Description:</comment>
  Doit être appelé après un fork
  
  Doit être appelé après un fork dans le fils, et avant d'entrer ou de continuer la boucle
  d'événement. Une alternative est d'utiliser la constante <info>Ev::FLAG_FORKCHECK</info> qui appèll cette
  fonction automatiquement, avec une perte de performance (référez-vous à la documentation libev).

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EvLoop::now
type: function
doc:
<comment>Description:</comment>
  Retourne le "event loop time" courant
  
  Retourne le "event loop time" courant, qui est la durée pendant laquelle la boucle d'événement
  reçoit des événements et démarre leurs anaylyses. Ce timestamp ne change pas tant que les
  fonctions de rappel sont en cours d'exécution, et c'est aussi le temps de base utilisé pour les
  timers relatifs. Vous pouvez le considérer comme le timestamp de l'événement en cours (ou plus
  exactement, celui utilisé par libev).

<comment>Return:</comment>
  <info>float</info>  Retourne le timestamp de la boucle d'événement, en secondes.

<comment>See Also:</comment>
   * Ev::now


id: EvLoop::nowUpdate
type: function
doc:
<comment>Description:</comment>
  Etablit le temps courant en demandant au kernel, et mise à jour
     du temps retourné par EvLoop::now pendant l'exécution
  
  Etablit le temps courant en demandant au kernel, et mise à jour du temps retourné par EvLoop::now
  pendant l'exécution. C'est une opération qui est couteuse en terme de performance et qui est
  habituellement exécutée automatiquement dans la méthode EvLoop::run.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EvLoop::now
   * Ev::nowUpdate


id: EvLoop::periodic
type: function
doc:
<comment>Description:</comment>
  Crée un objet EvPeriodic watcher associé avec l'instance de la
     boucle d'événement courant
  
  Crée un objet EvPeriodic watcher associé avec l'instance de la boucle d'événement courant.

<comment>Return:</comment>
  <info>EvPeriodic</info>  Retourne un objet EvPeriodic en cas de succès.

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


id: EvLoop::prepare
type: function
doc:
<comment>Description:</comment>
  Crée un objet EvPrepare watcher associé avec l'instance de la boucle
     d'événement courant
  
  Crée un objet EvPrepare watcher associé avec l'instance de la boucle d'événement courant.

<comment>Return:</comment>
  <info>EvPrepare</info>  Retourne un objet EvPrepare en cas de succès.

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


id: EvLoop::resume
type: function
doc:
<comment>Description:</comment>
  Reprend une boucle d'évément précédemment stoppée
  
  Les méthodes EvLoop::suspend et EvLoop::resume suspendent et reprennent une boucle.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EvLoop::suspend
   * Ev::resume


id: EvLoop::run
type: function
doc:
<comment>Description:</comment>
  Commence à vérifier les événements et à appeler les fonctions de rappel de la boucle
  
  Commence à vérifier les événements et à appeler les fonctions de rappel pour la boucle d'événement
  courant. La méthode s'arrête lorsqu'une fonction de rappel appèle la méthode Ev::stop ou que les
  drapeaux sont différents de zéro (auquel cas, la valeur retournée est <info>true</info>) ou lorsqu'il ny' a
  aucun watcher actif qui référence la boucle (EvWatcher::keepalive vaut <info>true</info>), auqeul cas, la
  valeur retournée sera <info>false</info>. La valeur retournée peut générallement être interprétée comme si
  <info>true</info>, il y a encore des travaux à faire.

<comment>Param:</comment>
  <info>int</info>  <strong>$flags</strong>  Le paramètre optionnel <strong>$flags</strong> peut prendre une des valeurs suivantes :  Liste des
               valeurs possibles pour <strong>$flags</strong> <strong>$flags</strong>Description<info>0</info>Le comportement par défaut, décrit
               ci-dessus<info>Ev::RUN_ONCE</info>Ne bloquer pas plus d'un événement (attend, mais ne boucle
               pas)<info>Ev::RUN_NOWAIT</info>Aucun blocage (récupère, gère les événements, mais n'attend pas)
               
               Voir les constantes des drapeaux d'exécution.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EvLoop::stop
   * Ev::run


id: EvLoop::signal
type: function
doc:
<comment>Description:</comment>
  Crée un objet EvSignal watcher associé avec l'instance de la
     boucle d'événement courant
  
  Crée un objet EvSignal watcher associé avec l'instance de la boucle d'événement courant.

<comment>Return:</comment>
  <info>EvSignal</info>  Retourne un objet EvSignal en cas de succès.

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


id: EvLoop::stat
type: function
doc:
<comment>Description:</comment>
  Crée un objet EvStat watcher associé avec l'instance de la
     boucle d'événement courant
  
  Crée un objet EvStat watcher associé avec l'instance de la boucle d'événement courant.

<comment>Return:</comment>
  <info>EvStat</info>  Retourne un objet EvStat en cas de succès.

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


id: EvLoop::stop
type: function
doc:
<comment>Description:</comment>
  Stoppe la boucle d'événement
  
  Stoppe la boucle d'événement.

<comment>Param:</comment>
  <info>int</info>  <strong>$how</strong>  Une constante Ev::BREAK_*.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EvLoop::run
   * Ev::stop


id: EvLoop::suspend
type: function
doc:
<comment>Description:</comment>
  Suspend la boucle
  
  Les méthodes EvLoop::suspend et EvLoop::resume suspendent et reprennent une boucle.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EvLoop::resume
   * Ev::suspend


id: EvLoop::timer
type: function
doc:
<comment>Description:</comment>
  Crée un objet EvTimer watcher associé avec l'instance de la boucle
     d'événement courant
  
  Crée un objet EvTimer watcher associé avec l'instance de la boucle d'événement courant.

<comment>Return:</comment>
  <info>EvTimer</info>  Retourne l'objet EvTimer en cas de succès.

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


id: EvLoop::verify
type: function
doc:
<comment>Description:</comment>
  Effectue des vérifications de consistence interne (pour le débogage)
  
  Effectue des vérifications de consistence interne (pour le débogage de libev) et stoppe le
  programme si des structures de données corrompues sont trouvées.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * Ev::verify


id: EvPeriodic
type: class
doc:
<comment>Description:</comment>
  Les watchers périodiques sont des sortes de minuteurs, mais ils sont très polyvalents.
  
  Contrairement à <class>EvTimer</class>, les watchers  <class>EvPeriodic</class> ne sont pas basés sur un temps réel (ou un temps
  relatif, le temps physique qui passe), mais sur un temps d'horloge (temps absolu, calendaire, ou
  d'horloge). La différence est qu'un temps d'horloge peut être plus rapide ou plus lent qu'un temps
  réel, et les sauts dans le temps ne sont pas rares (i.e. lors d'un ajustement).
  
  Un watcher <class>EvPeriodic</class> peut être configuré pour être lancé après des points spécifiques dans le
  temps. Par exemple, si un watcher <class>EvPeriodic</class> est configuré pour se lancer "dans 10 secondes" (i.e.
  EvLoop::now + <info>10.0</info>, i.e. un temps absolu, et non un délai), et que l'horloge système est
  ré-initialisée à Janvier de l'année dernière, alors cela prendra une année et plus à lancer
  l'événement (contrairement à <class>EvTimer</class> qui sera lancé <info>10</info> secondes après son démarrage, sachant qu'il
  utilise un délai maximal d'attente relatif).
  
  Comme pour les minuteurs, il est garantie que la fonction de rappel soit appelée uniquement
  lorsque le point dans le temps où il est supposé se lancer ne soit passé. Si plusieurs minuteurs
  deviennent prêts en même temps pendant la même itération de boucle, alors ceux dont les valeurs de
  délai maximal d'attente sont les plus proches seront appelées avant ceux qui ont des valeurs de
  délai maximal d'attente plus éloignés (mais ceci n'est plus vrai lorsqu'une fonction de rappel
  appelle récursivement la méthode EvLoop::run).


id: EvPeriodic::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un objet watcher EvPeriodic
  
  Construit un objet watcher EvPeriodic et le démarre automatiquement. La méthode
  EvPeriodic::createStopped crée un watcher périodique stoppé.

<comment>Param:</comment>
  <info>float</info>     <strong>$offset</strong>         Voir les modes d'opération du watcher périodique
  <info>string</info>    <strong>$interval</strong>       Voir les modes d'opération du watcher périodique
  <info>callable</info>  <strong>$reschedule_cb</strong>  Fonction de rappel Reschedule. Vous pouvez passer la valeur <info>null</info>. Voir
                            les modes d'opération du watcher périodique
  <info>callable</info>  <strong>$callback</strong>       Voir les fonctions de rappel des Watchers .
  <info>mixed</info>     <strong>$data</strong>           Données personnalisées à associer avec le watcher.
  <info>int</info>       <strong>$priority</strong>       Priorité du Watcher

<comment>See Also:</comment>
   * Les modes d'opération du watcher périodique
   * <class>EvTimer</class>
   * EvPeriodic::createStopped


id: EvPeriodic::again
type: function
doc:
<comment>Description:</comment>
  Arrête et re-démarre le watcher périodique
  
  Arrête et re-démarre le watcher périodique. Ceci n'est utile que lorsque les attributs ont changé.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EvTimer::again


id: EvPeriodic::at
type: function
doc:
<comment>Description:</comment>
  Retourne le temps absolu auquel ce watcher sera appelé la prochaine fois
  
  Retourne le temps absolu auquel ce watcher sera appelé la prochaine fois. Ce n'est pas la même
  chose que l'argument de position de la méthode EvPeriodic::set ou la méthode
  EvPeriodic::__construct, mais fonctionne aussi en mode intervalle.

<comment>Return:</comment>
  <info>float</info>  Retourne le temps absolu auqeul ce watcher sera appelé la prochaine fois, en secondes.


id: EvPeriodic::createStopped
type: function
doc:
<comment>Description:</comment>
  Crée un watcher EvPeriodic stoppé
  
  Crée un objet EvPeriodic. Contrairement à la méthode EvPeriodic::__construct, cette méthode ne
  démarre pas le watcher automatiquement.

<comment>Param:</comment>
  <info>float</info>     <strong>$offset</strong>         See Periodic watcher operation modes
  <info>float</info>     <strong>$interval</strong>       Voir les modes d'opération du watcher périodique
  <info>callable</info>  <strong>$reschedule_cb</strong>  Fonction de rappel Reschedule. Vous pouvez passer la valeur <info>null</info>. Voir
                            les modes d'opération du watcher périodique
  <info>callable</info>  <strong>$callback</strong>       Voir les fonctions de rappel des Watchers.
  <info>mixed</info>     <strong>$data</strong>           Données personnalisées à associer avec le watcher.
  <info>int</info>       <strong>$priority</strong>       Priorité du Watcher

<comment>Return:</comment>
  <info>EvPeriodic</info>  Retourne un objet watcher EvPeriodic en cas de succès.

<comment>See Also:</comment>
   * EvPeriodic::__construct
   * EvTimer::createStopped


id: EvPeriodic::set
type: function
doc:
<comment>Description:</comment>
  Configure le watcher
  
  (Re-)Configure le watcher EvPeriodic.

<comment>Param:</comment>
  <info>float</info>  <strong>$offset</strong>    La même signification que pour la méthode EvPeriodic::__construct. Voir les
                    modes d'opération du watcher périodique
  <info>float</info>  <strong>$interval</strong>  La même signification que pour la méthode EvPeriodic::__construct. Voir les
                    modes d'opération du watcher périodique

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EvPrepare::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un objet de watcher EvPrepare
  
  Construit un objet de watcher EvPrepare. Démarre le watcher automatiquement. Si vous avez besoin
  d'un watcher stoppé, utilisez plutôt la méthode EvPrepare::createStopped.

<comment>Param:</comment>
  <info>string</info>  <strong>$callback</strong>  Voir les fonctions de rappel des Watchers.
  <info>string</info>  <strong>$data</strong>      Données personnalisées à associer avec le watcher.
  <info>string</info>  <strong>$priority</strong>  Priorité du Watcher

<comment>See Also:</comment>
   * <class>EvCheck</class>


id: EvPrepare::createStopped
type: function
doc:
<comment>Description:</comment>
  Crée une instance stoppée du watcher EvPrepare
  
  Crée une instance stoppée du watcher EvPrepare. Contrairement à la méthode EvPrepare::__construct,
  cette méthode ne démarre pas le watcher automatiquement.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Voir les fonctions de rappel des Watchers.
  <info>mixed</info>     <strong>$data</strong>      Données personnalisées à associer avec le watcher.
  <info>int</info>       <strong>$priority</strong>  Priorité du Watcher

<comment>Return:</comment>
  <info>EvPrepare</info>  Retourne un objet EvPrepare en cas de succès.

<comment>See Also:</comment>
   * EvPrepare::__construct
   * EvWatcher::start


id: EvSignal
type: class
doc:
<comment>Description:</comment>
  Les watchers <class>EvSignal</class> vont lancer un événement lorsque le processus reçoit un signal spécifique
  une ou plusieurs fois. Malgré le fait que les signaux soient asynchrones, libev  va tenter de
  faire de son mieux pour délivrer les signaux de façon synchrone, i.e. tout comme n'importe quel
  autre événement.
  
  Il n'y a aucune limite pour le nombre de watchers pour le même signal, mais seulement dans la même
  boucle, i.e. un peu surveiller <info>SIGINT</info> dans la boucle par défaut, et pour <info>SIGIO</info> dans une autre
  boucle, mais il n'est pas autorisé de surveiller <info>SIGINT</info> à la fois dans la boucle par défaut, et
  dans une autre boucle au même moment. A ce moment, <info>SIGCHLD</info> est lié de façon permanente à la boucle
  par défaut.
  
  Si possible et si supporté, libev va installer son gestionnaire avec <return>SA_RESTART</return> (ou équivalent)
  activé, aussi, les appels système ne devraient pas être interrompus. Dans le cas d'un problème
  avec les appels système qui se verraient interrompus par des signaux, tous les signaux peuvent
  être bloqués dans un watcher <class>EvCheck</class> et débloqués dans un watcher <class>EvPrepare</class>.


id: EvSignal::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un objet watcher EvSignal
  
  Construit un objet watcher EvSignal et le démarre automatiquement. Pour un watcher périodique
  stoppé, utilisez plutôt la méthode EvSignal::createStopped.

<comment>Param:</comment>
  <info>int</info>       <strong>$signum</strong>    Numéro du signal. Voir les constantes exportées par l'extension pcntl. Voir
                       aussi la page du manuel système <return>signal(7)</return>.
  <info>callable</info>  <strong>$callback</strong>  Voir les fonctions de rappel des Watchers.
  <info>mixed</info>     <strong>$data</strong>      Données personnalisées à associer avec le watcher.
  <info>int</info>       <strong>$priority</strong>  Priorité du Watcher

<comment>See Also:</comment>
   * EvSignal::createStopped


id: EvSignal::createStopped
type: function
doc:
<comment>Description:</comment>
  Crée un objet watcher EvSignal stoppé
  
  Crée un objet watcher EvSignal stoppé. Contrairement à la méthode EvSignal::__construct, cette
  méthode ne démarre pas automatiquement le watcher.

<comment>Param:</comment>
  <info>int</info>       <strong>$signum</strong>    Numéro du signal. Voir les constantes exportées par l'extension pcntl. Voir
                       aussi la page de manuel système <return>signal(7)</return>.
  <info>callable</info>  <strong>$callback</strong>  Voir les fonctions de rappel des Watchers.
  <info>mixed</info>     <strong>$data</strong>      Données personnalisées à associer avec le watcher.
  <info>int</info>       <strong>$priority</strong>  Priorité du Watcher

<comment>Return:</comment>
  <info>EvSignal</info>  Retourne un objet EvSignal en cas de succès.

<comment>See Also:</comment>
   * EvWatcher::start
   * EvSignal::__construct


id: EvSignal::set
type: function
doc:
<comment>Description:</comment>
  Configure le watcher
  
  Configure le watcher.

<comment>Param:</comment>
  <info>int</info>  <strong>$signum</strong>  Numéro du signal. Identique que pour le constructeur EvSignal::__construct.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EvStat
type: class
doc:
<comment>Description:</comment>
  La classe <class>EvStat</class> surveille un fichier du système de fichiers afin de regarder toutes modifications
  de ces attributs. Elle appelle la commande stat() sur ce chemin, à intervalle régulier (ou lorsque
  l'OS signale une modification) et regarde s'il a été modifié depuis la dernière fois, et appelle
  la fonction de rappel si c'est le cas.
  
  Le chemin n'a pas besoin d'exister : la modification de "le chemin existe" vers "le chemin
  n'existe pas est une modification de statut comme un autre. La condition "le chemin n'existe pas"
  est signifié par la valeur 0 de l'élément <info>'nlink'</info> (retourné par la méthode EvStat::attr).
  
  Le chemin ne doit pas se terminer par un slash, ou contenir des composants spéciaux comme <info>'.'</info> ou
  <info>..</info>. Le chemin doit être absolu : s'il est relatif, et que le dossier de travail change, alors le
  comportement sera indéfini.
  
  Sachant qu'il n'y a pas d'interface de notification de changement portable, l'implémentation
  portable appelle simplement la commande stat() sur le chemin pour vérifier les modifications. Pour
  ce cas, un intervalle régulier peut être spécifié. S'il est spécifié, un intervalle de <info>0.0 </info>
  (vivement recommandé) alors une valeur par défaut non spécifié sera utilisé (au alentour de 5
  secondes, et peut être modifié dynamiquement). libev va également imposer un intervalle minimum
  qui est actuellement au alentour de <info>0.1</info>, ce qui est largement suffisant.
  
  Ce type de watcher n'est pas prévu pour un nombre important de watchers <class>EvStat</class>, sachant que même
  avec les notifications systèmes sur les modifications supportées par l'OS, ceci prend beaucoup de
  ressources.


id: EvStat::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un objet EvStat watcher
  
  Construit un objet EvStat watcher et démarre le watcher automatiquement.

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Le chemin pour lequel on attend un modification de statut.
  <info>float</info>     <strong>$interval</strong>  Intervalle de détection d'une modification ; doit valoir normalement <info>0.0</info> pour
                       laisser libev choisir la bonne valeur.
  <info>callable</info>  <strong>$callback</strong>  Voir les fonctions de rappel Watcher.
  <info>mixed</info>     <strong>$data</strong>      Données personnalisées à associer avec le watcher.
  <info>int</info>       <strong>$priority</strong>  Les priorités du Watcher


id: EvStat::attr
type: function
doc:
<comment>Description:</comment>
  Retourne la valeur la plus récente détectée par Ev
  
  Retourne un tableau des valeurs les plus récentes détectées par Ev.

<comment>Return:</comment>
  <info>array</info>  Retourne un tableau des valeurs les plus récentes détectées par Ev (sans le <return>stat</return> courant) :
         Liste des clés du tableaux retournés par la méthode EvStat::attrCléDescription<info>'dev'</info>ID du
         périphérique contenant le fichier<info>'ino'</info>nombre d'inodes<info>'mode'</info>protection<info>'nlink'</info>nombre de liens
         durs<info>'uid'</info>ID de l'utilisateur du propriétaire<info>'size'</info>taille totale, en octets<info>'gid'</info>ID du groupe
         du propriétaire<info>'rdev'</info>ID du périphérique (si fichier spécifial)<info>'blksize'</info>taille du bloc pour
         un système de fichiers I/O<info>'blocks'</info>nombre de blocs 512B alloués<info>'atime'</info>Date/heure du dernier
         accès<info>'ctime'</info>Date/Heure de la dernière modification de statut<info>'mtime'</info>Date/heure de la
         dernière modification
         
         Voir la page du manuel sur <return>stat(2)</return> pour plus de détails.

<comment>See Also:</comment>
   * EvStat::prev
   * EvStat::stat


id: EvStat::createStopped
type: function
doc:
<comment>Description:</comment>
  Crée un objet EvStat watcher stoppé
  
  Crée un objet EvStat watcher, mais ne le démarre pas automatiquement (contrairement à la méthode
  EvStat::__construct).

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Le chemin pour lequel on doit attendre un changement de statut.
  <info>float</info>     <strong>$interval</strong>  Intervalle de détection de la modification ; doit normalement valoir <info>0.0</info> pour
                       laisser libev choisir une bonne valeur.
  <info>callable</info>  <strong>$callback</strong>  Voir les fonctions de rappel Watcher.
  <info>mixed</info>     <strong>$data</strong>      Données personnalisées à associer avec le watcher.
  <info>int</info>       <strong>$priority</strong>  les priorités du Watcher

<comment>Return:</comment>
  <info>void</info>  Retourne un objet EvStat watcher stoppé en cas de succès.

<comment>See Also:</comment>
   * EvStat::__construct
   * EvWatcher::start


id: EvStat::prev
type: function
doc:
<comment>Description:</comment>
  Retourne le jeu précédent retourné par EvStat::attr
  
  Identique à la méthode EvStat::attr mais retourne le jeu précédent de valeurs.

<comment>Return:</comment>
  <info>void</info>  Retourne un tableau avec la même structure que le tableau retourné par la méthode
        EvStat::attr. Le tableau contiendra les valeurs prédécemment détectées.

<comment>See Also:</comment>
   * EvStat::attr
   * EvStat::stat


id: EvStat::set
type: function
doc:
<comment>Description:</comment>
  Configure le watcher
  
  Configure le watcher.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>      Le chemin pour lequel on attendra un changement de statut.
  <info>float</info>   <strong>$interval</strong>  Intervalle de détection des modifications ; doit normalement valoir <info>0.0</info> pour
                     laisser libev choisir une bonne valeur.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EvStat::stat
type: function
doc:
<comment>Description:</comment>
  Initialise l'appel à stat
  
  Initialise l'appel à stat (mise à jour du cache interne). La commande va appeler stat (en
  utilisant <return>lstat</return>) sur le chemin spécifié path dans le watcher et définir les valeurs trouvées.

<comment>Return:</comment>
  <info>bool</info>  Retourne <info>true</info> si path existe. Sinon, <info>false</info>.

<comment>See Also:</comment>
   * EvStat::attr
   * EvStat::prev


id: EvTimer
type: class
doc:
<comment>Description:</comment>
  Les watchers <class>EvTimer</class> sont des watchers relativement simples qui génèrent un événement après une
  durée fournie, et, optionnellement, se répète dans un intervalle régulier.
  
  Les minuteurs sont basés sur un temps réel, aussi, si un minuteur enregistre un événement qui se
  termine après une heure et ré-initialise l'horloge système à Janvier de l'an passée, il sera de
  nouveau hors délai après une heure (approximativement). "Approximativement" car la détection des
  sauts dans le temps est dur, et certaines inexactitudes sont inévitables.
  
  Il est garantie que la fonction de rappel sera appelée uniquement après l'expiration du délai
  maximal d'attente (et non exactement à ce moment précis, aussi, sur des systèmes avec une horloge
  basse résolution, il se peut qu'un petit délai ne soit introduit). Si plusieurs minuteurs
  deviennent prêts pendant la même itération de boucle, alors celui dont les valeurs du délai
  d'attente maximal sera la plus proche sera invoqué avant l'autre ayant une priorité identique mais
  avec une valeur du délai d'attente plus éloignée (mais ceci n'est plus vrai lorsqu'une fonction de
  rappel appelle récursivement la méthode EvLoop::run).
  
  Le minuteur lui-même va faire tout ce qu'il lui est possible pour ne pas dériver, mais, si un
  minuteur est configuré pour se lancer toutes les <info>10</info> secondes, alors il va normalement se lancer à
  intervalle de <info>10</info> secondes exactement. Cependant, si le script ne peut pas conserver le minuteur
  car il prend plus de temps que ses <info>10</info> secondes, le minuteur ne pourra se lancer pas plus d'une
  fois par itération de boucle d'événements.


id: EvTimer::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un objet EvTimer watcher
  
  Construit un objet EvTimer watcher.

<comment>Param:</comment>
  <info>float</info>     <strong>$after</strong>     Configure le time pour lancer le trigger après <strong>$after</strong> secondes.
  <info>float</info>     <strong>$repeat</strong>    Si ce paramètre vaut <info>0.0</info>, alors le watcher sera automatiquement stoppé lors
                       de le délai maximal d'attente sera atteint. Si ce paramètre est positif,
                       alors le timer va automatiquement lancer le trigger à chaque seconde
                       suivante, et ce, tant qu'il ne sera pas stoppé manuellement.
  <info>callable</info>  <strong>$callback</strong>  Voir les fonctions de rappel Watcher.
  <info>mixed</info>     <strong>$data</strong>      Données personnalisées associées avec le watcher.
  <info>int</info>       <strong>$priority</strong>  Les priorités du Watcher

<comment>See Also:</comment>
   * EvTimer::createStopped
   * <class>EvPeriodic</class>
   * ev_timer - répétition d'un délai d'attente maximal
   * Être intelligent avec les délais d'attente maximal


id: EvTimer::again
type: function
doc:
<comment>Description:</comment>
  Re-démarre le watcher Timer
  
  Cette méthode fonctionne comme si le Timer s'est terminé, et re-commence son cycle. La sémantique
  exacte est :
  
  si le Timer est en attente, son statut est nettoyé.
  
  si le Time est commencé, mais ne doit pas re-commencer, alors il sera stoppé (comme s'il s'était
  terminé normalement).
  
  si le Timer doit re-commencer, soit la méthode le démarre si nécessaire (avec la valeur repeat),
  ou ré-initialise le Time à la valeur de la variable repeat.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EvWatcher::stop


id: EvTimer::createStopped
type: function
doc:
<comment>Description:</comment>
  Crée un objet EvTimer watcher stoppé
  
  Crée un objet EvTimer watcher stoppé. Contrairement à la méthode EvTimer::__construct, cette
  méthode ne démarre pas automatiquement le watcher.

<comment>Param:</comment>
  <info>float</info>     <strong>$after</strong>     Configure le time pour lancer un trigger après <strong>$after</strong> secondes.
  <info>float</info>     <strong>$repeat</strong>    Si ce paramètre vaut <info>0.0</info>, alors le watcher sera automatiquement stoppé une
                       fois le délai maximal d'attente atteint. Si ce paramètre est positif, alors
                       le timer va automatiquement lancer le trigger à chaque seconde suivante, et
                       ce, tant qu'il ne sera pas stoppé manuellement.
  <info>callable</info>  <strong>$callback</strong>  Voir les fonctions de rappel Watcher.
  <info>mixed</info>     <strong>$data</strong>      Données personnelles associées au watcher.
  <info>int</info>       <strong>$priority</strong>  Les priorités du Watcher

<comment>Return:</comment>
  <info>EvTimer</info>  Retourne un objet EvTimer watcher en cas de succès.

<comment>See Also:</comment>
   * EvTimer::__construct
   * <class>EvPeriodic</class>


id: EvTimer::set
type: function
doc:
<comment>Description:</comment>
  Configure le watcher
  
  Configure le watcher

<comment>Param:</comment>
  <info>float</info>  <strong>$after</strong>   Configure le timer du trigger à lancer après <strong>$after</strong> secondes.
  <info>float</info>  <strong>$repeat</strong>  Si ce paramètre vaut <info>0.0</info>, alors le watcher sera automatiquement stoppé si le délai
                  d'attente maximal est atteint. Si ce paramètre est positif, alors le time va
                  automatiquement lancer le trigger à chaque seconde suivante, tant qu'il ne sera
                  pas stoppé manuellement.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EvWatcher
type: class
doc:
<comment>Description:</comment>
  La classe <class>EvWatcher</class> est une classe de base pour tous les watchers(<class>EvCheck</class>, <class>EvChild</class> etc.). Vu que
  le constructeur de la classe <class>EvWatcher</class> est abstrait, on ne peut pas (et on ne doit pas) créer des
  objets EvWatcher directement.


id: EvWatcher::__construct
type: function
doc:
<comment>Description:</comment>
  Constructeur d'objet observateur
  
  EvWatcher::__construct est un constructeur d'objet d'observateur, implémenté dans les classes
  dérivées.


id: EvWatcher::clear
type: function
doc:
<comment>Description:</comment>
  Efface le statut d'attente de l'observateur
  
  Si l'observateur est en attente, cette méthode efface son statut d'attente (pending) et retourne
  son bitset revents (comme si sa fonction de rappel avait été invoquée). Si l'observateur n'est pas
  en attente, cette méthode ne fera rien, et retournera <info>0</info>.
  
  Quelques fois, il est utile d'interroger un observateur plutôt que d'attendre que sa fonction de
  rappel ne soit invoquée, et c'est bien ce que permet de faire cette méthode.

<comment>Return:</comment>
  <info>int</info>  Dans le cas où l'observateur est en attente, retourne le bitset revents, comme si sa fonction
       de rappel était invoquée. Sinon, retourne <info>0</info>.


id: EvWatcher::feed
type: function
doc:
<comment>Description:</comment>
  Alimente les revents fournis dans la boucle d'événements
  
  Alimente les revents fournis dans la boucle d'événements, comme si l'événement spécifié était
  survenu dans l'observateur.

<comment>Param:</comment>
  <info>int</info>  <strong>$revents</strong>  Masque de bits de l'observateur de réception d'événements.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EvWatcher::getLoop
type: function
doc:
<comment>Description:</comment>
  Retourne la boucle responsable de l'observateur
  
  Retourne la boucle responsable de l'observateur.

<comment>Return:</comment>
  <info>EvLoop</info>  Retourne un objet <class>EvLoop</class> responsable de l'observateur.


id: EvWatcher::invoke
type: function
doc:
<comment>Description:</comment>
  Invoque la fonction de rappel de l'observateur avec
     le masque de bits des événements reçus fournis
  
  Invoque la fonction de rappel de l'observateur avec le masque de bits des événements reçus
  fournis.

<comment>Param:</comment>
  <info>int</info>  <strong>$revents</strong>  Masque de bits de l'observateur qui reçoit les événements.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EvWatcher::keepalive
type: function
doc:
<comment>Description:</comment>
  Garde la boucle active
  
  Garde la boucle active. Avec un paramètre <strong>$value</strong> définit à <info>false</info>, le Watcher n'empêchera pas les
  méthodes Ev::run/EvLoop::run de s'arrêter même si le Watcher est actif.
  
  Les Watchers ont, par défaut, un paramètre <strong>$value</strong> définit à <info>true</info>.
  
  Le fait de nettoyer le statut "keepalive" est utile lors d'un retour des méthodes
  Ev::run/EvLoop::run, auquel cas le Watcher n'est plus désiré. Ce peut être un Watcher socket UDP
  qui continue de fonctionner longtemps.

<comment>Param:</comment>
  <info>bool</info>  <strong>$value</strong>  Si vaut <info>false</info>, le Watcher ne va pas empêcher les méthodes Ev::run/EvLoop::run de se
                terminer, même si le Watcher est actif.

<comment>Return:</comment>
  <info>bool</info>  Retourne le précédent statut.


id: EvWatcher::setCallback
type: function
doc:
<comment>Description:</comment>
  Définit une nouvelle fonction de rappel pour le watcher
  
  Définit une nouvelle fonction de rappel pour le watcher.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Voir les fonctions de rappel pour les Watchers.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EvWatcher::start
type: function
doc:
<comment>Description:</comment>
  Démarre le Watcher
  
  Marque le Watcher comme actif. Notez que seuls les Watchers actifs recevront les événements.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EvWatcher::stop


id: EvWatcher::stop
type: function
doc:
<comment>Description:</comment>
  Arrête le Watcher
  
  Marque le Watcher comme étant inactif. Notez que seuls les Watchers actifs recevront les
  événements.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EvWatcher::start


id: Event
type: class
doc:
<comment>Description:</comment>
  La classe <class>Event</class> représente et lance un événement sur un descripteur de fichier devenu prêt pour
  une lecture ou une écriture ; un descripteur de fichier devient prêt pour une lecture ou une
  écriture (I/O uniquement) ; un délai d'attente expiré ; un signal survenant ; un événement lancé
  par l'utilisateur.
  
  Chaque événement est associé avec un <class>EventBase</class>. Cependant, l'événement ne sera jamais lancé tant
  qu'il n'a pas été ajouté (via la méthode Event::add). Un événement ajouté reste dans un staut
  d'attente tant que l'événement enregistré ne survient pas, le passant ainsi en statut actif. Pour
  gérer les événements, l'utilisateur doit enregistrer une fonction de rappel qui sera appelée
  lorsque l'événement devient actif. Si l'événement est configuré comme persistent, il restera en
  attente. S'il n'est pas persistent, il ne sera plus en attente lorsque sa fonction de rappel sera
  exécutée. La méthode Event::del supprime l'événement, il n'est alors plus en attente. En appelant
  la méthode Event::add, il sera ajouté de nouveau.


id: Event::ET
type: constant
doc:
<comment>Description:</comment>
  Indique que l'événement doit être lancé, si la base d'événement sous-jacente supporte ce type
  d'événement. Ceci affecte la sémantique de <info>Event::READ</info> et de <info>Event::WRITE</info>.


id: Event::PERSIST
type: constant
doc:
<comment>Description:</comment>
  Indique que l'événement est persistent. Voir la section : A propos de la persistence des
  événements.


id: Event::READ
type: constant
doc:
<comment>Description:</comment>
  Ce drapeau indique qu'un événement devient actif lorsque le descripteur de fichier fourni
  (habituellement, une ressource de flux ou un socket) est prêt pour une lecture.


id: Event::SIGNAL
type: constant
doc:
<comment>Description:</comment>
  Utilisé pour implémenter une détection de signal. Voir la section ci-dessous sur la construction
  d'un événement de type signal.


id: Event::TIMEOUT
type: constant
doc:
<comment>Description:</comment>
  Ce drapeau indique qu'un événement devient actif après l'expiration de ce délai d'attente maximal.
  
  Le drapeau <info>Event::TIMEOUT</info> est ignoré lors de la construction d'un événement : il peut être indiqué
  ou non lors de l'ajout de l'événement. Il doit être défini dans l'argument <return>$what</return> de la fonction de
  rappel lorsqu'un délai d'attente maximal est survenu.


id: Event::WRITE
type: constant
doc:
<comment>Description:</comment>
  Ce drapeau indique qu'un événement devient actif lorsque le descripteur de fichier fourni
  (habituellement, une ressource de flux ou un socket) est prêt pour une écriture.


id: Event::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un objet Event
  
  Construit un objet Event.

<comment>Param:</comment>
  <info>EventBase</info>  <strong>$base</strong>  La base d'événement à associer.
  <info>mixed</info>      <strong>$fd</strong>    Ressource de flux, ressource de socket, ou descripteur numérique de fichier.
                    Pour les événements timer, passez comme valeur <info>-1</info>. Pour les événements de type
                    signal, passez le numéro du signal, i.e. <info>SIGHUP</info>.
  <info>int</info>        <strong>$what</strong>  Drapeaux d'événements. Voir les drapeaux d'événements pour plus de détails.
  <info>callable</info>   <strong>$cb</strong>    La fonction de rappel de l'événement. Voir les fonctions de rappel d'événements
                    pour plus de détails.
  <info>mixed</info>      <strong>$arg</strong>   Données personnalisées. Si spécifié, elles seront passées à la fonction de
                    rappel lorsque l'événement aura lancé les triggers.

<comment>Return:</comment>
  <info>unknown</info>  Retourne l'objet Event.

<comment>See Also:</comment>
   * Event::signal
   * Event::timer


id: Event::add
type: function
doc:
<comment>Description:</comment>
  Bascule un évènement en attente
  
  Bascule un évènement en attente. Un évènement qui n'a pas le statut en  attente ne se lancera
  jamais, et le callback de l'évènement ne se sera  jamais appelé. En utilisant Event::del un
  évènement peut être re-planifié par l'utilisateur quand il veut.
  
  Si Event::add est appelé sur un évènement déjà en  attente, libevent va le laisser en attente et
  le re-planifier avec le  nouveau timeout (si donné). Dans le cas ou le timeout n'est pas spécifié
  Event::add n'a aucun effet.

<comment>Param:</comment>
  <info>float</info>  <strong>$timeout</strong>  Timeout en secondes.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * Event::add
   * Event::del
   * Event::signal
   * Event::timer


id: Event::addSignal
type: function
doc:
<comment>Description:</comment>
  Alias de Event::add
  
  Cette méthode est un alias de:  Event::add


id: Event::del
type: function
doc:
<comment>Description:</comment>
  Supprime un événement de la liste des événements surveillés
  
  Supprime un événement du jeu d'événements surveillés.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * Event::add


id: Event::delSignal
type: function
doc:
<comment>Description:</comment>
  Alias de Event::del
  
  Cette méthode est un alias de:  Event::del


id: Event::free
type: function
doc:
<comment>Description:</comment>
  Supprime une événement de la liste des événements surveillés
     et libère les ressources associées
  
  Supprime un événement de la liste des événements surveillées par libevent, et libère les
  ressources allouées à cet événement.
  
  La méthode Event::free ne détruit actuellement pas l'objet en tant que tel. Pour détruire l'objet
  complètement, appelez la fonction <strong>unset()</strong> ou assignez-lui la valeur <info>null</info>.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

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


id: Event::getSupportedMethods
type: function
doc:
<comment>Description:</comment>
  Retourne un tableau contenant les noms des méthodes supportées
     par cette version de Libevent
  
  Retourne un tableau contenant les noms des méthodes supportées par cette version de Libevent.

<comment>Return:</comment>
  <info>array</info>  Retourne un tableau.

<comment>See Also:</comment>
   * <class>EventConfig</class>


id: Event::pending
type: function
doc:
<comment>Description:</comment>
  Détecte si l'événement est en attente ou programmé
  
  Détecte si l'événement est en attente ou programmé.

<comment>Param:</comment>
  <info>int</info>  <strong>$flags</strong>  Une ou plusieurs des constantes suivantes : <info>Event::READ</info>, <info>Event::WRITE</info>,
               <info>Event::TIMEOUT</info>, <info>Event::SIGNAL</info>.

<comment>Return:</comment>
  <info>bool</info>  Retourne <info>true</info> si l'événement est en attente ou programmé, <info>false</info> sinon.


id: Event::set
type: function
doc:
<comment>Description:</comment>
  Re-configure l'événement
  
  Re-configure l'événement. Notez que cette fonction n'appelle pas la fonction obsolète event_set de
  libevent. Elle appelle plutot la fonction event_assign.

<comment>Param:</comment>
  <info>EventBase</info>  <strong>$base</strong>  La base d'événement à associer.
  <info>mixed</info>      <strong>$fd</strong>    Une ressource de flux, une ressource de socket, ou un descripteur numérique de
                    fichier. Pour les événements de type minuteur passez <info>-1</info>. Pour les événements de
                    type signal passez le numéro du signal, par exemple <info>SIGHUP</info>.
  <info>int</info>        <strong>$what</strong>  Voir les drapeaux d'événements.
  <info>callable</info>   <strong>$cb</strong>    La fonction de rappel de l'événement. Voir les fonctions de rappel d'événements.
  <info>mixed</info>      <strong>$arg</strong>   Données personnalisées à associer avec l'événement. Elles seront passées à la
                    fonction de rappel lorsque l'événement deviendra actif.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: Event::setPriority
type: function
doc:
<comment>Description:</comment>
  Défini la priorité de l'événement
  
  Défini la priorité de l'événement.

<comment>Param:</comment>
  <info>int</info>  <strong>$priority</strong>  La priorité de l'événement.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: Event::setTimer
type: function
doc:
<comment>Description:</comment>
  Re-configure un événement timer
  
  Re-configure un événement timer. Notez que cette méthode n'appelle pas la fonction obsolète
  <return>event_set</return> de libevent. Elle appelle plutôt la fonction <return>event_assign</return>.

<comment>Param:</comment>
  <info>EventBase</info>  <strong>$base</strong>  La base d'événement à associer.
  <info>callable</info>   <strong>$cb</strong>    La fonction de rappel de l'événement timer. Voir les fonctions de rappel
                    d'événements.
  <info>mixed</info>      <strong>$arg</strong>   Données personnalisées. Si spécifié, elles seront passées à la fonction de
                    rappel lorsque l'événement lancera les triggers.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * Event::__construct
   * Event::timer


id: Event::signal
type: function
doc:
<comment>Description:</comment>
  Construit un objet d'événement signal
  
  Construit un objet d'événement signal. C'est une méthode simple pour créer un événement de signal.
  Notez que la méthode générique Event::__construct peut construire aussi un objet d'événement de
  signal.

<comment>Param:</comment>
  <info>EventBase</info>  <strong>$base</strong>    L'objet de base d'événement associé.
  <info>int</info>        <strong>$signum</strong>  Le numéro du signal.
  <info>callable</info>   <strong>$cb</strong>      La fonction de rappel de l'événement signal. Voir les fonctions de rappel
                      d'événements.
  <info>mixed</info>      <strong>$arg</strong>     Données personnalisées. Si spécifié, elles seront passées à la fonction de
                      rappel lorsque l'événement lancera les triggers.

<comment>Return:</comment>
  <info>Event</info>  Retourne un objet d'événement en cas de succès, <info>false</info> sinon.

<comment>See Also:</comment>
   * La construction d'événement de signal


id: Event::timer
type: function
doc:
<comment>Description:</comment>
  Construit un objet d'événement timer
  
  Construit un objet d'événement timer. Il s'agit d'une méthode simple pour créer un événement
  timer. Notez que la méthode générique Event::__construct peut aussi construire des objets
  d'événements signal.

<comment>Param:</comment>
  <info>EventBase</info>  <strong>$base</strong>  L'objet de base d'événement associé.
  <info>callable</info>   <strong>$cb</strong>    La fonction de rappel d'événement signal. Voir les fonctions de rappel
                    d'événements.
  <info>mixed</info>      <strong>$arg</strong>   Données personnalisées. Si spécifié, elles seront passées à la fonction de
                    rappel lorsque l'événement lancera les triggers.

<comment>Return:</comment>
  <info>Event</info>  Retourne un objet d'événement en cas de succès, <info>false</info> sinon.


id: EventBase
type: class
doc:
<comment>Description:</comment>
  La classe <class>EventBase</class> représente la structure de base d'un événement libevent. Elle contient un jeu
  d'événements et peut vérifier quels sont les événements actifs.
  
  Chaque événement de base a une méthode ou un backend utilisé pour déterminer quels sont les
  événements prêts. Ces méthodes sont : <return>select</return>, <return>poll</return>, <return>epoll</return>, <return>kqueue</return>, <return>devpoll</return>, <return>evport</return> et <return>win32</return>.
  
  Pour configurer un événement de base à utiliser, ou éviter un backend spécifique, la classe
  <class>EventConfig</class> peut être utilisée.
  
  Ne détruisez pas l'objet <class>EventBase</class> tant que les ressources associées aux objets <return>Event</return> ne sont pas
  libérées. Sinon, cela mènera à des résultats totalement indéfinis !


id: EventBase::EPOLL_USE_CHANGELIST
type: constant
doc:
<comment>Description:</comment>
  Si vous utilisez le backend <return>epoll</return>, ce drapeau signifie qu'il est sécurisé d'utiliser le code
  interne de modification de liste interne à Libevent pour mettre en lot les ajouts et les
  suppressions afin de tenter de minimiser le plus possible le nombre d'appels système..
  
  Le fait de définir ce drapeau rend le code plus rapide, mais il peut se confronter à un bogue
  Linux : il n'est pas sécurisé d'utiliser ce drapeau en la présence d'un fds clôné par dup() ou une
  de ces variantes. Ceci produirait un comportement étrange et très difficile à diagnostiquer.
  
  Ce drapeau peut aussi être activé en définissant la variable d'environnement
  <return>EVENT_EPOLL_USE_CHANGELIST</return>.
  
  Ce drapeau n'a aucun effet si on l'utlise avec un autre backend que <return>epoll</return>.


id: EventBase::LOOP_NONBLOCK
type: constant
doc:
<comment>Description:</comment>
  Drapeau utilisé avec la méthode EventBase::loop qui signifie : "ne pas bloquer : regarde quels
  sont les événements prêts actuellement, exécute leurs fonctions de rappel avec une priorité haute,
  puis, on sort".


id: EventBase::LOOP_ONCE
type: constant
doc:
<comment>Description:</comment>
  Drapeau utilisé avec la méthode EventBase::loop qui signifie : "blocage tant que libevent a un
  événement actif, puis, sortie une fois que tous les événements actifs ont exécuté leurs fonctions
  de rappel".


id: EventBase::NOLOCK
type: constant
doc:
<comment>Description:</comment>
  Drapeau de configuration. Ne pas verrouiller la base de l'événement, même si un verrouillage avait
  été mis en place.


id: EventBase::NO_CACHE_TIME
type: constant
doc:
<comment>Description:</comment>
  Drapeau de configuration. Au lieu de vérifier le temps courant chaque fois que la boucle
  d'événement est prête à exécuter la fonction de rappel, le temps sera vérifié a chaque fois que le
  délai maximal d'attente pour la fonction de rappel sera atteint.


id: EventBase::STARTUP_IOCP
type: constant
doc:
<comment>Description:</comment>
  Drapeau de configuration spécifique à Windows. Active le répartiteur IOCP au démarrage.


id: EventBase::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un objet EventBase
  
  Construit un objet EventBase.

<comment>Param:</comment>
  <info>EventConfig</info>  <strong>$cfg</strong>  Optionnel - Un objet <class>EventConfig</class>.

<comment>Return:</comment>
  <info>unknown</info>  Retourne un objet EventBase.

<comment>See Also:</comment>
   * <class>EventConfig</class>


id: EventBase::dispatch
type: function
doc:
<comment>Description:</comment>
  Distribut les événements en attente
  
  Attend que les événements deviennent actifs, et exécute leurs fonctions de rappel. Identique à la
  méthode EventBase::loop mais sans drapeau.
  
   Ne détruisez pas l'objet <class>EventBase</class> tant que les ressources associées aux objets <return>Event</return> ne sont pas
  libérées. Sinon, cela mènera à des résultats totalement indéfinis !
  
  Ne détruisez pas l'objet <class>EventBase</class> tant que les ressources associées aux objets <return>Event</return> ne sont pas
  libérées. Sinon, cela mènera à des résultats totalement indéfinis !

<comment>Return:</comment>
  <info>void</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBase::loop


id: EventBase::exit
type: function
doc:
<comment>Description:</comment>
  Stoppe la distribution des événements
  
  Demande à l'événement de base de stopper la distribution des événements, optionnellement après un
  nombre de secondes fourni.

<comment>Param:</comment>
  <info>float</info>  <strong>$timeout</strong>  Optionnel - Nombre de secondes après lequel l'événement de base doit stopper la
                   distribution d'événements.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBase::stop


id: EventBase::free
type: function
doc:
<comment>Description:</comment>
  Libère les ressources allouées pour l'événement de base
  
  Désalloue les ressources allouées par libevent pour l'objet <class>EventBase</class>.
  
  La méthode EventBase::free ne détruit pas l'objet lui-même. Pour détruire l'objet complètement,
  appelez la fonction <strong>unset()</strong> ou assignez-lui la valeur <info>null</info>.
  
  Cette méthode ne désalloue, ni ne détache aucun événement qui serait actuellement associé avec
  l'objet <class>EventBase</class>, ni ne ferme aucun de leur socket ; gardez cela en tête.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

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


id: EventBase::getFeatures
type: function
doc:
<comment>Description:</comment>
  Retourne un masque des fonctionnalités supportées
  
  Retourne un masque des fonctionnalités supportées.

<comment>Return:</comment>
  <info>int</info>  Retourne un entier représentant un masque des fonctionnalités supportées. Voir les constantes
       EventConfig::FEATURE_*.

<comment>See Also:</comment>
   * EventBase::getMethod
   * <class>EventConfig</class>


id: EventBase::getMethod
type: function
doc:
<comment>Description:</comment>
  Retourne la méthode d'événement utilisée

<comment>Return:</comment>
  <info>string</info>  Une chaîne de caractères représentant la méthode d'événement utilisée (backend).

<comment>See Also:</comment>
   * EventBase::getFeatures


id: EventBase::getTimeOfDayCached
type: function
doc:
<comment>Description:</comment>
  Retourne le temps de l'événement courant
  
  En cas de succès, retourne le temps courant (tel que retourné par la fonction <return>gettimeofday()</return>), en
  analysant la valeur mise en cache dans base si possible, et en appelant la fonction <return>gettimeofday()</return>
  ou la fonction <return>clock_gettime()</return> si aucun temps n'est disponible en cache.

<comment>Return:</comment>
  <info>float</info>  Retourne le temps de l'événement. En cas d'échec, retourne <info>null</info>.


id: EventBase::gotExit
type: function
doc:
<comment>Description:</comment>
  Vérifie s'il a été demandé à la boucle d'événements de sortir
  
  Vérifie s'il a été demandé à la boucle d'événements de sortir via la méthode EventBase::exit.

<comment>Return:</comment>
  <info>bool</info>  Retourne <info>true</info> s'il a été demandé à la boucle d'événements de sortir via la méthode
        EventBase::exit, <info>false</info> sinon.

<comment>See Also:</comment>
   * EventBase::exit
   * EventBase::stop
   * EventBase::gotStop


id: EventBase::gotStop
type: function
doc:
<comment>Description:</comment>
  Vérifie s'il a été demandé à la boucle d'événements de s'arrêter
  
  Vérifie s'il a été demandé à la boucle d'événements de s'arrêter via la méthode EventBase::stop.

<comment>Return:</comment>
  <info>bool</info>  Retourne <info>true</info> s'il a été demandé à la boucle d'événements de s'arrêter via la méthode
        EventBase::stop, <info>false</info> sinon.

<comment>See Also:</comment>
   * EventBase::exit
   * EventBase::stop
   * EventBase::gotExit


id: EventBase::loop
type: function
doc:
<comment>Description:</comment>
  Distribue les événements en attente
  
  Attend que les événements deviennent actifs, puis, exécute leurs fonctions de rappel.
  
   Ne détruisez pas l'objet <class>EventBase</class> tant que les ressources associées aux objets <return>Event</return> ne sont pas
  libérées. Sinon, cela mènera à des résultats totalement indéfinis !
  
  Ne détruisez pas l'objet <class>EventBase</class> tant que les ressources associées aux objets <return>Event</return> ne sont pas
  libérées. Sinon, cela mènera à des résultats totalement indéfinis !

<comment>Param:</comment>
  <info>int</info>  <strong>$flags</strong>  Drapeaux optionnels. Une constante <return>EventBase::LOOP_*</return>. Voir les constantes EventBase.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

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


id: EventBase::priorityInit
type: function
doc:
<comment>Description:</comment>
  Défini le nombre de propriétés par événement de base
  
  Défini le nombre de propriétés par événement de base.

<comment>Param:</comment>
  <info>int</info>  <strong>$n_priorities</strong>  Le nombre de propriétés par événement de base.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * Event::setPriority


id: EventBase::reInit
type: function
doc:
<comment>Description:</comment>
  Re-initialise l'événement de base (après un fork)
  
  Re-initialise l'événement de base. Doit être appelée après un fork.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: EventBase::stop
type: function
doc:
<comment>Description:</comment>
  Demande à event_base de stopper la distribution d'événements
  
  Demande à event_base de stopper la distribution d'événements.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBase::exit
   * EventBase::gotStop


id: EventBuffer
type: class
doc:
<comment>Description:</comment>
  La classe <class>EventBuffer</class> représente "evbuffer" de Libevent, un utilitaire pour les I/O bufferisés.
  
  Les buffers d'événements sont générallement utiles pour réaliser la partie buffer d'un réseau I/O
  bufferisé.


id: EventBuffer::EOL_ANY
type: constant
doc:
<comment>Description:</comment>
  La fin de ligne est une séquence de nombre représentent un retour charriot et une nouvelle ligne.
  Ce format n'est pas très utile ; il existe encore seulement pour des raisons de compatibilité
  ascendante.


id: EventBuffer::EOL_CRLF
type: constant
doc:
<comment>Description:</comment>
  La fin de ligne est un retour charriot optionnel, suivi par une nouvelle ligne. (En d'autres
  termes, c'est soit <return>"\r\n"</return>, soit <return>"\n"</return>). Ce format est utile pour analyser les protocoles Internet
  basés sur du texte ; le standard veut qu'on utilise <return>"\r\n"</return> mais quelques clients fournissent
  seulement <return>"\n"</return>.


id: EventBuffer::EOL_CRLF_STRICT
type: constant
doc:
<comment>Description:</comment>
  La fin de ligne est un simple retour charriot, suivant par une simple nouvelle ligne (aussi connu
  comme <return>"\r\n"</return>. Les valeurs ASCII sont <info>0x0D</info> <info>0x0A</info>).


id: EventBuffer::EOL_LF
type: constant
doc:
<comment>Description:</comment>
  La fin de ligne est un simple caractère de nouvelle ligne (aussi connu comme <return>"\n"</return>. La valeur ASCII
  est <info>0x0A</info>).


id: EventBuffer::PTR_ADD
type: constant
doc:
<comment>Description:</comment>
  Identique à <info>EventBuffer::PTR_SET</info>, sauf que ce drapeau fait que la méthode EventBuffer::setPosition
  se déplace à une position en arrière par rapport au numéro d'octers spécifié (au lieu de définir
  une position absolue).


id: EventBuffer::PTR_SET
type: constant
doc:
<comment>Description:</comment>
  Drapeau utilisé comme argument de la méthode EventBuffer::setPosition. Si ce drapeau est spécifié,
  la position du pointeur est déplacé à une position absolue du buffer.


id: EventBuffer::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un objet EventBuffer
  
  Construit un objet EventBuffer.

<comment>Return:</comment>
  <info>unknown</info>  Retourne un objet EventBuffer.


id: EventBuffer::add
type: function
doc:
<comment>Description:</comment>
  Ajoute des données à la fin du tampon d'événement
  
  Ajoute des données à la fin du tampon d'événement.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Chaîne de caractères à ajouter à la fin du tampon.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBuffer::addBuffer


id: EventBuffer::addBuffer
type: function
doc:
<comment>Description:</comment>
  Déplace toutes les données du tampon fourni dans l'instance courante EventBuffer
  
  Déplace toutes les données du tampon fourni par le paramètre <strong>$buf</strong> à la fin de l'<class>EventBuffer</class>
  courant. C'est un ajout destructeur. Les données du premier tampon sont déplacées dans l'autre.
  Cependant, aucune copie mémoire ne survient.

<comment>Param:</comment>
  <info>EventBuffer</info>  <strong>$buf</strong>  L'objet source EventBuffer.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBuffer::add


id: EventBuffer::appendFrom
type: function
doc:
<comment>Description:</comment>
  Déplace le nombre d'octets fourni depuis un tampon source vers la fin du tampon courant
  
  Déplace le nombre d'octets fourni depuis un tampon source, vers la fin du tampon courant. S'il n'y
  a pas assez d'octets de disponible, tous les octets disponibles seront déplacés du tampon source.

<comment>Param:</comment>
  <info>EventBuffer</info>  <strong>$buf</strong>  Tampon source.
  <info>int</info>          <strong>$len</strong>  

<comment>Return:</comment>
  <info>int</info>  Retourne le nombre d'octets lu.

<comment>See Also:</comment>
   * EventBuffer::copyout
   * EventBuffer::drain
   * EventBuffer::pullup
   * EventBuffer::readLine
   * EventBuffer::read


id: EventBuffer::copyout
type: function
doc:
<comment>Description:</comment>
  Copie le nombre d'octets spécifié depuis le début du tampon
  
  Fonctionne de la même façon que la méthode EventBuffer::read, mais ne vide pas les données du
  tampon. i.e. la méthode copie les premiers <strong>$max_bytes</strong> octets depuis le début du tampon dans le
  paramètre <strong>$data</strong>. S'il y a moins de <strong>$max_bytes</strong> octets disponibles, la méthode copie tous les octets
  présents.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>       Chaîne de sortie.
  <info>int</info>     <strong>$max_bytes</strong>  Le nombre d'octets à copier.

<comment>Return:</comment>
  <info>int</info>  Retourne le nombre d'octets copiés, ou <info>-1</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBuffer::read
   * EventBuffer::appendFrom


id: EventBuffer::drain
type: function
doc:
<comment>Description:</comment>
  Supprime un nombre spécifié d'octets depuis le début du tampon
     sans copier les données
  
  Fonctionne de la même manière que la méthode EventBuffer::read excepté le fait que les données
  supprimées ne sont pas copiées : elles sont seulement supprimer du début du tampon.

<comment>Param:</comment>
  <info>int</info>  <strong>$len</strong>  Le nombre d'octets à supprimer depuis le tampon.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBuffer::read
   * EventBuffer::appendFrom


id: EventBuffer::enableLocking
type: function
doc:
<comment>Description:</comment>
  Active le verrouillage de l'<class>EventBuffer</class>, lui permettant ainsi de pouvoir être utilisé de façon
  sécurisé par plusieurs threads à la fois. Lorsque le verrouillage est activé, le verrou sera placé
  lorsque les fonctions de rappel seront appelées. Ce comportement peut conduire à des verrous morts
  si vous n'êtes pas attentif.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * Evbuffers and Thread-safety


id: EventBuffer::expand
type: function
doc:
<comment>Description:</comment>
  Réserve de l'espace dans le tampon
  
  Modifie le dernier bloc mémoire du tampon, ou en ajoute un nouveau, faisant ainsi que la taille du
  tampon augmente de sorte à contenir <strong>$len</strong> octets sans avoir à faire de futures allocations
  supplémentaires.

<comment>Param:</comment>
  <info>int</info>  <strong>$len</strong>  Le nombre d'octets à réserver pour le tampon.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: EventBuffer::freeze
type: function
doc:
<comment>Description:</comment>
  Permet d'empécher les appels qui tentent de modifier un
     tampon d'événements de réussir
  
  Permet d'empécher les appels qui tentent de modifier un tampon d'événements de réussir.

<comment>Param:</comment>
  <info>bool</info>  <strong>$at_front</strong>  Permet de désactiver les modifitications en début ou en fin de tampon.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBuffer::unfreeze


id: EventBuffer::lock
type: function
doc:
<comment>Description:</comment>
  Acquière un verrou sur le buffer
  
  Acquière un verrou sur le buffer. Peut être utilisé de paire avec la méthode EventBuffer::unlock
  pour réaliser un jeu d'opérations atomique, i.e. thread-safe. Notez qu'il n'est pas nécessaire de
  verrouiller les buffers pour les opérations individuelles. Lorsque le verrou est actif, (voir
  EventBuffer::enableLocking) les opérations individuelles sur les buffers d'événements sont déjà
  atomiques.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EventBuffer::unlock


id: EventBuffer::prepend
type: function
doc:
<comment>Description:</comment>
  Ajoute des données au début du buffer
  
  Ajoute des données au début du buffer.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Chaîne de caractères à ajouter au début du buffer.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBuffer::prependBuffer
   * EventBuffer::add
   * EventBuffer::addBuffer


id: EventBuffer::prependBuffer
type: function
doc:
<comment>Description:</comment>
  Déplace toutes les données depuis le buffer source vers le début
     du buffer courant
  
  Fonctionne exactement comme la méthode EventBuffer::addBuffer, excepté le fait qu'elle déplace les
  données au début du buffer.

<comment>Param:</comment>
  <info>EventBuffer</info>  <strong>$buf</strong>  Buffer source.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBuffer::add
   * EventBuffer::addBuffer
   * EventBuffer::prepend


id: EventBuffer::pullup
type: function
doc:
<comment>Description:</comment>
  Sérialise les données du buffer et retourne le contenu du
     buffer sous la forme d'une chaîne
  
  Sérialise les premiers <strong>$size</strong> octets du buffer, les copie ou les bouge comme nécessaire pour
  assurer qu'ils soient contigus et le fait d'occuper la même partie de la mémoire. Si la taille est
  négative, la fonction linéatise la totalité du buffer.
  
  L'appel à la méthode EventBuffer::pullup avec une taille très grande ralentie l'exécution, sachant
  qu'elle peut potentiellement avoir besoin de copier le contenu entier du buffer.

<comment>Param:</comment>
  <info>int</info>  <strong>$size</strong>  Le nombre d'octets qui doivent être contigus dans le buffer.

<comment>Return:</comment>
  <info>string</info>  Si <strong>$size</strong> est supérieur au nombre d'octets du buffer, la fonction retournera <info>null</info>. Sinon,
          EventBuffer::pullup retournera une chaîne de caractères.

<comment>See Also:</comment>
   * EventBuffer::copyout
   * EventBuffer::drain
   * EventBuffer::read
   * EventBuffer::readLine
   * EventBuffer::appendFrom


id: EventBuffer::read
type: function
doc:
<comment>Description:</comment>
  Lit les données d'un evbuffer, et vide les octets lus
  
  Lit les premiers <strong>$max_bytes</strong> octets depuis le tampon et vide les octets lus. Si le paramètre
  <strong>$max_bytes</strong> représente plus d'octets que de disponible dans le tampon, l'ensemble des octets
  disponibles seront lus.

<comment>Param:</comment>
  <info>int</info>  <strong>$max_bytes</strong>  Le nombre maximal d'octets à lire depuis le tampon.

<comment>Return:</comment>
  <info>string</info>  Retourne la chaîne lue, ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBuffer::copyout
   * EventBuffer::drain
   * EventBuffer::pullup
   * EventBuffer::readLine
   * EventBuffer::appendFrom


id: EventBuffer::readFrom
type: function
doc:
<comment>Description:</comment>
  Lit des données depuis un fichier et les place à la fin du tampon
  
  Lit des données depuis le fichier <strong>$fd</strong> et les place à la fin du tampon.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$fd</strong>       Un socket, un flux, ou un descripteur de fichier numérique.
  <info>int</info>    <strong>$howmuch</strong>  Nombre maximal d'octets à lire.

<comment>Return:</comment>
  <info>int</info>  Retourne le nombre d'octets lu, ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBuffer::copyout
   * EventBuffer::drain
   * EventBuffer::pullup
   * EventBuffer::readLine
   * EventBuffer::appendFrom


id: EventBuffer::readLine
type: function
doc:
<comment>Description:</comment>
  Extrait une ligne depuis le début du tampon
  
  Extrait une ligne depuis le début du tampon et la retourne dans une nouvelle chaîne allouée. S'il
  n'y a pas de ligne complète à lire, la méthode retourne <info>null</info>. La terminaison de la ligne n'est pas
  incluse dans la chaîne copiée.

<comment>Param:</comment>
  <info>int</info>  <strong>$eol_style</strong>  Une constante EventBuffer:EOL_*.

<comment>Return:</comment>
  <info>string</info>  En cas de succès, retourne la ligne lue depuis le tampon, <info>null</info> sinon.

<comment>See Also:</comment>
   * EventBuffer::copyout
   * EventBuffer::drain
   * EventBuffer::pullup
   * EventBuffer::read
   * EventBuffer::appendFrom


id: EventBuffer::search
type: function
doc:
<comment>Description:</comment>
  Recherche dans le tampon une occurrence d'une chaîne
  
  Recherche dans le tampon une occurrence de la chaîne <strong>$what</strong>. La méthode retourne la position
  numérique de la chaîne recherchée, ou <info>false</info> si la chaîne n'a pu être trouvée.
  
  Si l'argument <strong>$start</strong> est fourni, ce sera la position à partir de laquelle la recherche doit
  commencer ; sinon, la recherche sera réalisée depuis le début de la chaîne. Si l'argument <strong>$end</strong> est
  fourni, la recherche sera réalisée entre les positions de début et de fin du tampon.

<comment>Param:</comment>
  <info>string</info>  <strong>$what</strong>   Chaîne à chercher.
  <info>int</info>     <strong>$start</strong>  Position de départ de la recherche.
  <info>int</info>     <strong>$end</strong>    Position de fin de la recherche.

<comment>Return:</comment>
  <info>mixed</info>  Retourne la position numérique de la première occurrence de la chaîne dans le tampon, ou
         <info>false</info> si la chaîne n'a pas été trouvée.
         
         Cette fonction peut retourner <info>false</info>, mais elle peut aussi retourner une valeur équivalent à
         <info>false</info>. Veuillez lire la section sur les booléens pour plus d'informations. Utilisez
         l'opérateur === pour tester la valeur de retour exacte de cette fonction.

<comment>See Also:</comment>
   * EventBuffer::searchEol


id: EventBuffer::searchEol
type: function
doc:
<comment>Description:</comment>
  Cherche dans le tampon une occurrence de fin de ligne
  
  Cherche dans le tampon une occurrence de fin de ligne spécifié par le paramètre <strong>$eol_style</strong>. La
  méthode retourne la position numérique de la chaîne, ou <info>false</info> si la chaîne n'a pas été trouvée.
  
  Si l'argument <strong>$start</strong> est fourni, il représente la position où la recherche commencera ; sinon, la
  recherche sera effectuée depuis le début de la chaîne. Si l'argument <strong>$end</strong> est fourni, la recherche
  sera réalisée entre les positions de début et de fin du tampon.

<comment>Param:</comment>
  <info>int</info>  <strong>$start</strong>      Position de début de recherche.
  <info>int</info>  <strong>$eol_style</strong>  Une constante EventBuffer:EOL_*.

<comment>Return:</comment>
  <info>mixed</info>  Retourne la position numérique de la première occurrence du symbole de fin de ligne dans le
         tampon, ou bien <info>false</info> s'il n'a pas été trouvé.
         
         Cette fonction peut retourner <info>false</info>, mais elle peut aussi retourner une valeur équivalent à
         <info>false</info>. Veuillez lire la section sur les booléens pour plus d'informations. Utilisez
         l'opérateur === pour tester la valeur de retour exacte de cette fonction.

<comment>See Also:</comment>
   * EventBuffer::search


id: EventBuffer::substr
type: function
doc:
<comment>Description:</comment>
  Soustrait une portion des données du tampon
  
  Soustrait une taille de <strong>$length</strong> octets du tampon, en commençant à la position <strong>$start</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$start</strong>   La position de départ des données à soustraire.
  <info>int</info>  <strong>$length</strong>  Nombre maximal d'octets à soustraire.

<comment>Return:</comment>
  <info>string</info>  Retourne les données soustraites sous la forme d'une chaîne de caractères en cas de
          succès, ou bien <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBuffer::read


id: EventBuffer::unfreeze
type: function
doc:
<comment>Description:</comment>
  Ré-active les appels qui permettent de modifier un buffer d'événements
  
  Ré-active les appels qui permettent de modifier un buffer d'événements.

<comment>Param:</comment>
  <info>bool</info>  <strong>$at_front</strong>  Si l'on doit activer les événements au début ou à la fin du buffer.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBuffer::freeze


id: EventBuffer::unlock
type: function
doc:
<comment>Description:</comment>
  Libère un verrou acquis avec EventBuffer::lock
  
  Libère un verrou acquis avec la méthode EventBuffer::lock.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBuffer::lock


id: EventBuffer::write
type: function
doc:
<comment>Description:</comment>
  Ecrit le contenu du buffer dans un fichier ou dans un socket
  
  Ecrit le contenu du buffer dans un descripteur de fichier. Le buffer sera vidé après l'écriture
  avec succès des derniers octets.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$fd</strong>       Ressource de socket, flux, ou un descripteur numérique de fichier associé avec un
                   socket.
  <info>int</info>    <strong>$howmuch</strong>  Le nombre maximal d'octets à écrire.

<comment>Return:</comment>
  <info>int</info>  Retourne le nombre d'octets écrits, ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBuffer::read


id: EventBufferEvent
type: class
doc:
<comment>Description:</comment>
  Représente un buffer d'événement Libevent.
  
  Habituellement, une application veut mettre en buffer des données en plus de juste répondre à des
  événements. Lorsque nous voulons écrire des données, par exemple, le mécanisme habituel ressemble
  à :
  
  On décide que l'on veut écrire des données dans une connexion ; placez ces données dans un buffer.
  
  On attend que la connexion devienne accessible en écriture
  
  On écrit autant de données que l'on peut
  
  On se souvient de la quantité écrite, et si on a encore plus de données à écrire, on attend que la
  connexion redevienne accessible en écriture.
  
  Ce mécanisme de mise en buffer I/O est suffisament commune pour que Libevent fournisse un
  mécanisme générique pour cela. Un buffer d'événement consiste en un transport sous-jacent (comme
  un socket), un buffer de lecture, et un buffer d'écriture. Au lieu d'un événement classique, qui
  fournit des fonctions de rappel lorsque le transport sous-jacent est prêt à être lu ou écrit, un
  buffer d'événement appelle ses fonctions de rappel fournis par l'utilisateur lorsqu'il a lu ou
  écrit suffisament de données.


id: EventBufferEvent::EOF
type: constant
doc:
<comment>Description:</comment>
  On récupère une indication de fin de fichier sur le buffer d'événement.


id: EventBufferEvent::ERROR
type: constant
doc:
<comment>Description:</comment>
  Une erreur survient pendant une opération bufferevent. Pour plus d'informations sur l'erreur,
  appelez la méthode EventUtil::getLastSocketErrno et/ou EventUtil::getLastSocketError.


id: EventBufferEvent::OPT_CLOSE_ON_FREE
type: constant
doc:
<comment>Description:</comment>
  Lorsque le buffer d'événement est libéré, ferme le transport sous-jacent. Ceci va clôre le socket
  sous-jacent, libérer le buffer d'événement sous-jacent, etc.


id: EventBufferEvent::OPT_DEFER_CALLBACKS
type: constant
doc:
<comment>Description:</comment>
  Lorsque ce drapeau est défini, le bufferevent reporte toutes ses fonctions de rappel. Voir  la
  documentation sur la programmation réseau rapide, portable, non bloquante avec Libevent, le report
  des fonctions de rappel.


id: EventBufferEvent::OPT_THREADSAFE
type: constant
doc:
<comment>Description:</comment>
  Alloue automatiquement des verrous pour le bufferevent, afin de rendre sécurisé l'utilisation de
  plusieurs threads.


id: EventBufferEvent::OPT_UNLOCK_CALLBACKS
type: constant
doc:
<comment>Description:</comment>
  Par défaut, lorsque le bufferevent est défini pour être sécurisé au niveau des threads, le verrou
  du buffer d'événement est maintenu, y compris si une fonction de rappel utilisateur est appelée.
  La définition de cette option permet à Libevent de libérer le verrou du buffer d'événement lorsque
  la fonction de rappel est appelée.


id: EventBufferEvent::READING
type: constant
doc:
<comment>Description:</comment>
  Un événement survient pendant l'opération de lecture sur le bufferevent. Voir les autres drapeaux
  pour connaître le type d'événement.


id: EventBufferEvent::WRITING
type: constant
doc:
<comment>Description:</comment>
  Un événement survient pendant une opération d'écriture sur le bufferevent. Voir les autres
  drapeaux pour connaître le type d'événement.


id: EventBufferEvent::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un objet EventBufferEvent
  
  Crée un tampon d'événement sur un socket, un flux, ou un descripteur de fichier. Le fait de passer
  la valeur <info>null</info> au paramètre <strong>$socket</strong> signifie que le socket doit être créé ultérieurement, i.e. via
  la méthode EventBufferEvent::connect.

<comment>Param:</comment>
  <info>EventBase</info>  <strong>$base</strong>     Evenement de base qui doit être associé avec le nouveau tampon d'événement.
  <info>mixed</info>      <strong>$socket</strong>   Doit être créé comme flux (non nécessairement via l'extension <return>sockets</return>)
  <info>int</info>        <strong>$options</strong>  Une constante parmi les constantes EventBufferEvent::OPT_*, ou <info>0</info>.
  <info>callable</info>   <strong>$readcb</strong>   Fonction de rappel pour les événements de lecture. Voir aussi les fonctions
                       de rappel des tampon d'événement.
  <info>callable</info>   <strong>$writecb</strong>  Fonction de rappel pour les événements d'écriture. Voir aussi les fonctions
                       de rappel des tampon d'événement.
  <info>callable</info>   <strong>$eventcb</strong>  Fonction de rappel pour les événements de changement de statut. Voir aussi
                       les fonctions de rappel des tampon d'événement.
  <info>mixed</info>      <strong>$arg</strong>      Une variable qui sera passée à toutes les fonctions de rappel.

<comment>Return:</comment>
  <info>unknown</info>  Retourne une ressource de tampon d'événement, associée à la ressource de socket.

<comment>See Also:</comment>
   * EventBufferEvent::sslFilter
   * EventBufferEvent::sslSocket


id: EventBufferEvent::close
type: function
doc:
<comment>Description:</comment>
  Ferme le descripteur de fichier associé avec le buffer d'événements courant
  
  Ferme le descripteur de fichier associé avec le buffer d'événements courant.
  
  Cette méthode peut être utilisée dans les cas où l'option <info>EventBufferEvent::OPT_CLOSE_ON_FREE</info>
  n'est pas appropriée.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EventBufferEvent::connect
type: function
doc:
<comment>Description:</comment>
  Connecte le descripteur de fichier du tampon d'événement à l'adresse fournie,
     ou au socket UNIX
  
  Connecte le descripteur de fichier du tampon d'événement à l'adresse fournie (optionnellement, en
  fournissant le port), ou au socket UNIX.
  
  Si le socket n'est pas assigné au tampon d'événements, cette méthode alloue un nouveau socket et
  le rend non bloquant en interne.
  
  Pour résoudre les noms DNS (de façon asynchrone), utilisez la méthode
  EventBufferEvent::connectHost.

<comment>Param:</comment>
  <info>string</info>  <strong>$addr</strong>  Doit contenir une adresse IP avec, optionnellement, le numéro du port, ou un chemin
                 vers le socket UNIX. Les formats reconnus sont :  Notez que le préfixe <return>'unix:'</return>
                 n'est actuellement pas sensible à la casse.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBufferEvent::connectHost


id: EventBufferEvent::connectHost
type: function
doc:
<comment>Description:</comment>
  Connexion à un hôte
  
  Résout le nom d'hôte DNS, recherche de l'adresse du type <strong>$family</strong> (constante <return>EventUtil::AF_*</return>). Si
  la résolution du nom échoue, la fonction de rappel de l'événement sera appelé avec un événement
  d'erreur. Si la résolution réussit, une tentative de connexion sera émise, tout comme le fait la
  méthode EventBufferEvent::connect.
  
  Le paramètre <strong>$dns_base</strong> est optionnel. Il peut valoir <info>null</info>, ou bien un objet créé avec la méthode
  EventDnsBase::__construct. Pour une résolution de nom d'hôte asynchrone, passez une ressource
  d'événement de base DNS valide. Sinon, la résolution du nom d'hôte sera bloquante.
  
  <class>EventDnsBase</class> n'est disponible que si <return>Event</return> est configuré avec l'option --with-event-extra
  (bibliothèque <return>event_extra</return>, le support des fonctionnalités spécifiques à libevent incluant HTTP,
  DNS et RPC).
  
  EventBufferEvent::connectHost requiert <return>libevent-2.0.3-alpha</return> ou suivants.

<comment>Param:</comment>
  <info>EventDnsBase</info>  <strong>$dns_base</strong>  Objet <class>EventDnsBase</class> dans le cas où le DNS doit être résolu de façon
                           asynchrone. Sinon, <info>null</info>.
  <info>string</info>        <strong>$hostname</strong>  Le nom d'hôte sur lequel la connexion tente d'être faite. Les formats
                           reconnus sont :
  <info>int</info>           <strong>$port</strong>      Le numéro du port
  <info>int</info>           <strong>$family</strong>    Famille de l'adresse. <info>EventUtil::AF_UNSPEC</info>, <info>EventUtil::AF_INET</info> ou
                           <info>EventUtil::AF_INET6</info>. Voir les constantes EventUtil.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBufferEvent::connect


id: EventBufferEvent::createPair
type: function
doc:
<comment>Description:</comment>
  Crée deux événements de tampon connectés l'un à l'autre
  
  Retourne un tableau de deux objets <class>EventBufferEvent</class> connectés l'un à l'autre. Toutes les options
  habituelles sont supportées, sauf pour <info>EventBufferEvent::OPT_CLOSE_ON_FREE</info> qui n'a aucun effet, et
  <info>EventBufferEvent::OPT_DEFER_CALLBACKS</info> qui est toujours activé.

<comment>Param:</comment>
  <info>EventBase</info>  <strong>$base</strong>     Evenement de base associé.
  <info>int</info>        <strong>$options</strong>  Constantes EventBufferEvent::OPT_* combinées avec l'opérateur <return>OR</return>.

<comment>Return:</comment>
  <info>array</info>  Retourne un tableau de deux objets <class>EventBufferEvent</class> connectés à l'un à l'autre.


id: EventBufferEvent::disable
type: function
doc:
<comment>Description:</comment>
  Désactive les événements de lecture, d'écriture ou des deux sur un événement de tampon
  
  Désactive les événements <info>Event::READ</info>, <info>Event::WRITE</info>, ou <info>Event::READ</info><return>|</return><info>Event::WRITE</info> sur un événement
  de tampon.

<comment>Param:</comment>
  <info>int</info>  <strong>$events</strong>  

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBufferEvent::enable


id: EventBufferEvent::enable
type: function
doc:
<comment>Description:</comment>
  Active les événements de lecture, d'écriture, ou des deux, sur un événement de tampon
  
  Active les événements <info>Event::READ</info>, <info>Event::WRITE</info>, ou  <info>Event::READ</info><return>|</return><info>Event::WRITE</info> sur un événément de
  tampon.

<comment>Param:</comment>
  <info>int</info>  <strong>$events</strong>  <info>Event::READ</info>, <info>Event::WRITE</info>, ou <info>Event::READ</info><return>|</return><info>Event::WRITE</info> sur un événement de tampon.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBufferEvent::disable


id: EventBufferEvent::free
type: function
doc:
<comment>Description:</comment>
  Libère un événement de tampon
  
  Libère toutes les ressources allouées par un événement de tampon.
  
  Habituellement, il n'est pas nécessaire d'appeler cette méthode, sachant que normalement, la
  libération totale des ressources associées s'effectue dans les destructeurs internes de l'objet.
  Cependant, il se peut qu'un long script alloue beaucoup d'instances, ou bien qu'un script utilise
  énormément de mémoire ; dans ces cas, il peut être nécessaire de libérer les ressources aussi vite
  que possible. Aussi, l'utilisation de la méthode EventBufferEvent::free peut être utile pour
  protéger l'exécution du script d'atteindre la valeur de <return>memory_limit</return>.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EventBufferEvent::getDnsErrorString
type: function
doc:
<comment>Description:</comment>
  Retourne une chaîne décrivant la dernière erreur DNS
  
  Retourne une chaîne décrivant la dernière erreur DNS lors de l'exécution de la méthode
  EventBufferEvent::connectHost ou une chaîne vide s'il n'y a aucune erreur DNS de détectée.

<comment>Return:</comment>
  <info>string</info>  Retourne une chaîne décrivant l'erreur DNS, ou une chaîne vide s'il n'y a aucune erreur.

<comment>See Also:</comment>
   * EventBufferEvent::connectHost


id: EventBufferEvent::getEnabled
type: function
doc:
<comment>Description:</comment>
  Retourne un masque d'événements actuellement actifs sur le tampon d'événements
  
  Retourne un masque d'événements actuellement actifs sur le tampon d'événements.

<comment>Return:</comment>
  <info>int</info>  Retourne un entier représentant un masque d'événements actuellement actifs sur le tampon
       d'événements.

<comment>See Also:</comment>
   * EventBufferEvent::enable
   * EventBufferEvent::disable


id: EventBufferEvent::getInput
type: function
doc:
<comment>Description:</comment>
  Retourne le tampon d'entrée associé avec le tampon d'événements courant
  
  Retourne le tampon d'entrée associé avec le tampon d'événements courant. Un tampon d'entrée est un
  stockage pour les données à lire.
  
  Notez qu'il y a aussi des propriétés d' <return>entrée</return> pour la classe <class>EventBufferEvent</class>.

<comment>Return:</comment>
  <info>EventBuffer</info>  Retourne une instance du tampon d'entrée <class>EventBuffer</class> associé avec le tampon
               d'événements courant.

<comment>See Also:</comment>
   * EventBufferEvent::getOutput


id: EventBufferEvent::getOutput
type: function
doc:
<comment>Description:</comment>
  Retourne le tampon de sortie associé avec le tampon
     d'événement courant
  
  Retourne le tampon de sortie associé avec le tampon d'événement courant. Un tampon de sortie est
  un stockage pour les données à écrire.
  
  Notez qu'il y a aussi des propriétés de <return>sortie</return> pour la classe <class>EventBufferEvent</class>.

<comment>Return:</comment>
  <info>EventBuffer</info>  Retourne une instance du tampon de sortie <class>EventBuffer</class> associé avec le tampon
               d'événements courant.

<comment>See Also:</comment>
   * EventBufferEvent::getInput


id: EventBufferEvent::read
type: function
doc:
<comment>Description:</comment>
  Lit les données du tampon
  
  Supprime les <strong>$size</strong> octets du tampon d'entrée. Retourne une chaîne de données lues depuis le tampon
  d'entrée.

<comment>Param:</comment>
  <info>int</info>  <strong>$size</strong>  Nombre maximal d'octets à lire

<comment>Return:</comment>
  <info>string</info>  Retourne la chaîne de données lues depuis le tampon d'entrée.

<comment>See Also:</comment>
   * EventBufferEvent::readBuffer


id: EventBufferEvent::readBuffer
type: function
doc:
<comment>Description:</comment>
  Vide le contenu entier du tampon d'entrée et le place dans le tampon
  
  Vide le contenu entier du tampon d'entrée et le place dans le tampon <strong>$buf</strong>.

<comment>Param:</comment>
  <info>EventBuffer</info>  <strong>$buf</strong>  Tampon cible

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBufferEvent::read


id: EventBufferEvent::setCallbacks
type: function
doc:
<comment>Description:</comment>
  Assigne les fonctions de rappel pour la lecture, l'écriture, et les statuts d'événements
  
  Assigne les fonctions de rappel pour la lecture, l'écriture, et les statuts d'événements.

<comment>Param:</comment>
  <info>callable</info>  <strong>$readcb</strong>   Fonction de rappel pour un événement de lecture. Voir les fonctions de rappel
                      pour les tampons d'événements.
  <info>callable</info>  <strong>$writecb</strong>  Fonction de rappel pour un événement d'écriture. Voir les fonctions de rappel
                      pour les tampons d'événements.
  <info>callable</info>  <strong>$eventcb</strong>  Fonction de rappel pour un événement de modification de statut. Voir les
                      fonctions de rappel pour les tampons d'événements.
  <info>mixed</info>     <strong>$arg</strong>      Une variable qui sera passée à toutes les fonctions de rappel.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

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


id: EventBufferEvent::setPriority
type: function
doc:
<comment>Description:</comment>
  Assigne une priorité pour un tampon d'événements
  
  Assigne une priorité pour un tampon d'événements.
  
  Uniquement supporté pour les sockets de tampon d'événements.

<comment>Param:</comment>
  <info>int</info>  <strong>$priority</strong>  Valeur de la priorité.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: EventBufferEvent::setTimeouts
type: function
doc:
<comment>Description:</comment>
  Défini le mode lecture et écriture pour le délai d'attente maximal d'un tampon d'événement
  
  Défini le mode lecture et écriture pour le délai d'attente maximal d'un tampon d'événement.

<comment>Param:</comment>
  <info>float</info>  <strong>$timeout_read</strong>   La lecture du délai d'attente maximal
  <info>float</info>  <strong>$timeout_write</strong>  L'écriture du délai d'attente maximal

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: EventBufferEvent::setWatermark
type: function
doc:
<comment>Description:</comment>
  Active la lecture, et/ou l'écriture des filigranes
  
  Active la lecture, l'écriture ou les deux pour les filigranes d'un tampon d'événement.
  
  Un filigrane de tampon d'événement est une portion, une valeur spécifiant le nombre d'octets à
  lire ou à écrire avant d'appeler la fonction de rappel. Par défaut, chaque événement de
  lecture/écriture lance une fonction de rappel. Voir ausi la page suivante (en anglais) : Fast
  portable non-blocking network programming with Libevent: Callbacks and watermarks

<comment>Param:</comment>
  <info>int</info>  <strong>$events</strong>    Masque de constantes <info>Event::READ</info>, <info>Event::WRITE</info>, ou les deux.
  <info>int</info>  <strong>$lowmark</strong>   Valeur minimale du filigrane.
  <info>int</info>  <strong>$highmark</strong>  Valeur maximale du filigrane. La valeur <info>0</info> signifie "aucune limite".

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EventBufferEvent::sslError
type: function
doc:
<comment>Description:</comment>
  Retourne l'erreur OpenSSL la plus récente rapportée par le tampon d'événement
  
  Retourne l'erreur OpenSSL la plus récente rapportée par le tampon d'événement.
  
  Cette méthode n'est disponible que si <return>Event</return> a été compilé avec le support OpenSSL.

<comment>Return:</comment>
  <info>string</info>  Retourne la chaîne d'erreur OpenSSL rapporté par le tampon d'événement ou $false; s'il n'y
          a plus aucune erreur à retourner.

<comment>See Also:</comment>
   * EventBufferEvent::sslRenegotiate


id: EventBufferEvent::sslFilter
type: function
doc:
<comment>Description:</comment>
  Crée un nouveau tampon d'événement SSL, dont les données
     seront envoyées via un autre tampon d'événement
  
  Crée un nouveau tampon d'événement SSL, dont les données seront envoyées via un autre tampon
  d'événement.
  
  Cette méthode n'est disponible que si <return>Event</return> a été compilé avec le support OpenSSL.

<comment>Param:</comment>
  <info>EventBase</info>         <strong>$base</strong>        Evenement de base associé.
  <info>EventBufferEvent</info>  <strong>$underlying</strong>  Un socket de tampon d'événement à utiliser pour ce SSL.
  <info>EventSslContext</info>   <strong>$ctx</strong>         Objet de la classe <class>EventSslContext</class>.
  <info>int</info>               <strong>$state</strong>       Le statut courant de la connexion SSL : <info>EventBufferEvent::SSL_OPEN</info>,
                                 <info>EventBufferEvent::SSL_ACCEPTING</info> ou
                                 <info>EventBufferEvent::SSL_CONNECTING</info>.
  <info>int</info>               <strong>$options</strong>     Une ou plusieurs options de tampon d'événement.

<comment>Return:</comment>
  <info>EventBufferEvent</info>  Retourne un nouvel objet <class>EventBufferEvent</class> SSL.

<comment>See Also:</comment>
   * EventBufferEvent::sslSocket


id: EventBufferEvent::sslGetCipherInfo
type: function
doc:
<comment>Description:</comment>
  Retourne une description textuelle d'un cipher
  
  Récupère la description du cipher courant via la fonction <return>SSL_CIPHER_description</return> de l'API SSL
  (voir la page man de SSL_CIPHER_get_name(3)).
  
  Cette fonction n'est disponible que si <return>Event</return> a été compilé avec le support OpenSSL.

<comment>Return:</comment>
  <info>string</info>  Retourne une description textuelle du cipher en cas de succès, ou bien <info>false</info> si une erreur
          survient.


id: EventBufferEvent::sslGetCipherName
type: function
doc:
<comment>Description:</comment>
  Retourne le nom du cipher courant pour la connexion SSL
  
  Récupère le nom du cipher courant pour la connexion SSL.
  
  Cette fonction n'est disponible que si <return>Event</return> a été compilé avec le support OpenSSL.

<comment>Return:</comment>
  <info>string</info>  Retourne le nom du cipher courant pour la connexion SSL ou <info>false</info> si une erreur survient.


id: EventBufferEvent::sslGetCipherVersion
type: function
doc:
<comment>Description:</comment>
  Retourne la version du cipher utilisé pour la connexion SSL courante
  
  Récupère la version du cipher utilisé pour la connexion SSL courante.
  
  Cette fonction n'est disponible que si <return>Event</return> a été compilé avec le support OpenSSL.

<comment>Return:</comment>
  <info>string</info>  Retourne la version du cipher utilisé pour la connexion SSL courante ou <info>false</info> si une
          erreur survient.


id: EventBufferEvent::sslGetProtocol
type: function
doc:
<comment>Description:</comment>
  Retourne le nom du protocole utilisé pour la connexion SSL courante
  
  Retourne le nom du protocole utilisé pour la connexion SSL courante.
  
  Cette fonction n'est disponible que si <return>Event</return> a été compilé avec le support OpenSSL.

<comment>Return:</comment>
  <info>string</info>  Retourne le nom du protocole utilisé pour la connexion SSL courante.


id: EventBufferEvent::sslRenegotiate
type: function
doc:
<comment>Description:</comment>
  Demande au tampon d'événement de commencer une renégociation SSL
  
  Demande au tampon d'événement de commencer une renégociation SSL.
  
  L'appel à cette méthode demande à SSL une renégociation, et au tampon d'événement d'appeler la
  fonction de rappel propriée. C'est une méthode très avancée ; elle ne doit être appelée que si
  vous savez parfaitement ce que vous faîtes, tout spécialement depuis quelques versions SSL où des
  failles de sécurité ont été mises à jour lors de renégociation.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EventBufferEvent::sslSocket
type: function
doc:
<comment>Description:</comment>
  Crée un nouveau tampon SSL dont ces données seront envoyées via un socket SSL
  
  Crée un nouveau tampon SSL dont ces données seront envoyées via un socket SSL.

<comment>Param:</comment>
  <info>EventBase</info>        <strong>$base</strong>     Evenement de base associé.
  <info>mixed</info>            <strong>$socket</strong>   Socket à utiliser pour ce SSL. Peut-être un flux, une ressource de
                             socket, un descripteur numérique de fichier, ou <info>null</info>. Si le paramètre
                             <strong>$socket</strong> vaut <info>null</info>, on imagine que le descripteur de fichier pour ce
                             socket sera sssigné ultérieurement via la méthode
                             EventBufferEvent::connectHost.
  <info>EventSslContext</info>  <strong>$ctx</strong>      Objet de la classe <class>EventSslContext</class>.
  <info>int</info>              <strong>$state</strong>    Le statut courant de la connexion SSL : <info>EventBufferEvent::SSL_OPEN</info>,
                             <info>EventBufferEvent::SSL_ACCEPTING</info> ou <info>EventBufferEvent::SSL_CONNECTING</info>.
  <info>int</info>              <strong>$options</strong>  Les options du tampon d'événement.

<comment>Return:</comment>
  <info>EventBufferEvent</info>  Retourne un objet <class>EventBufferEvent</class>.

<comment>See Also:</comment>
   * EventBufferEvent::sslFilter


id: EventBufferEvent::write
type: function
doc:
<comment>Description:</comment>
  Ajoute des données dans un tampon d'événement de sortie
  
  Ajoute des données dans un tampon d'événement de sortie.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Données à ajouter dans le tampon.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBufferEvent::writeBuffer


id: EventBufferEvent::writeBuffer
type: function
doc:
<comment>Description:</comment>
  Ajoute le contenu entier d'un tampon dans un tampon d'événement de sortie
  
  Ajoute le contenu entier d'un tampon dans un tampon d'événement de sortie.

<comment>Param:</comment>
  <info>EventBuffer</info>  <strong>$buf</strong>  Objet <class>EventBuffer</class> source.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBufferEvent::write


id: EventConfig
type: class
doc:
<comment>Description:</comment>
  Représente la structure de configuration qui peut être utilisée dans la construction de la classe
  <class>EventBase</class>.


id: EventConfig::FEATURE_ET
type: constant
doc:
<comment>Description:</comment>
  Requiert une méthode du backend qui supporte les I/O edge-triggered.


id: EventConfig::FEATURE_FDS
type: constant
doc:
<comment>Description:</comment>
  Requiert une méthode du backend qui peut supporter des types de descripteur de fichier arbitraire,
  et non pas seulement des sockets.


id: EventConfig::FEATURE_O1
type: constant
doc:
<comment>Description:</comment>
  Requiert une méthode du backend où ajouter ou supprimer un seul événement, ou d'avoir un seul
  événement qui devient actif.


id: EventConfig::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un objet EventConfig
  
  Construit un objet EventConfig qui pourra être passé au constructeur EventBase::__construct.

<comment>Return:</comment>
  <info>unknown</info>  Retourne un objet <class>EventConfig</class>.

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


id: EventConfig::avoidMethod
type: function
doc:
<comment>Description:</comment>
  Demande à libevent d'ignorer une méthode d'événement spécifique
  
  Demande à libevent d'ignorer une méthode d'événement spécifique. Voir la création d'un événement
  de base.

<comment>Param:</comment>
  <info>string</info>  <strong>$method</strong>  La méthode à ignorer. Voir les constantes EventConfig.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

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


id: EventConfig::requireFeatures
type: function
doc:
<comment>Description:</comment>
  Entre dans une fonctionnalité de méthode d'événement demandée par l'application
  
  Entre dans une fonctionnalité de méthode d'événement demandée par l'application.

<comment>Param:</comment>
  <info>int</info>  <strong>$feature</strong>  Masque de fonctionnalités demandées. Voir les constantes <return>EventConfig::FEATURE_*</return>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBase::getFeatures


id: EventConfig::setFlags
type: function
doc:
<comment>Description:</comment>
  Sets one or more flags to configure the eventual EventBase will be initialized
  
  Sets one or more flags to configure what parts of  the eventual EventBase will be initialized, and
  how they'll work.

<comment>Param:</comment>
  <info>int</info>  <strong>$flags</strong>  One of <return>EventBase::LOOP_*</return> constants.  See EventBase constants.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventBase::getFeatures


id: EventConfig::setMaxDispatchInterval
type: function
doc:
<comment>Description:</comment>
  Evite l'inversion des priorités
  
  Evite l'inversion des priorités en limitant le nombre de fonctions de rappel d'événements en basse
  priorité qui peuvent être invoquées avant de vérifier la présence d'événements de haute priorité.
  
  Disponible depuis <return>libevent 2.1.0-alpha</return>.

<comment>Param:</comment>
  <info>int</info>  <strong>$max_interval</strong>   Un intervalle après lequel Libevent va arrêter l'exécution des fonctions de
                       rappel et vérifier la présence d'autres événements, ou <info>0</info> s'il ne doit pas y
                       avoir de tel intervalle.
  <info>int</info>  <strong>$max_callbacks</strong>  Un nombre de fonctions de rappel après lequel Libevent doit arrêter
                       l'exécution des fonctions de rappel et vérifier la présence d'autres
                       événements, ou <info>-1</info> s'il ne doit pas y avoir de telle limite.
  <info>int</info>  <strong>$min_priority</strong>   Une priorité en dessous de laquelle <strong>$max_interval</strong> et <strong>$max_callbacks</strong> ne
                       doivent pas être pris en compte. Si défini à <info>0</info>, ils seront pris en compte
                       pour les événements de n'importe quelle priorité ; si défini à <info>1</info>, ils seront
                       pris en compte pour les événements de priorité <info>1</info> et ainsi de suite.

<comment>Return:</comment>
  <info>void</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: EventDnsBase
type: class
doc:
<comment>Description:</comment>
  Représente la structure de base DNS de Libevent. Utilisé pour résoudre les DNS de façon
  asynchrone, pour analyser les fichiers de configuration comme resolv.conf etc.


id: EventDnsBase::OPTIONS_ALL
type: constant
doc:
<comment>Description:</comment>
  Demande à connaître tout le contenu du fichier <return>resolv.conf</return>.


id: EventDnsBase::OPTION_HOSTSFILE
type: constant
doc:
<comment>Description:</comment>
  Demande à lire une liste d'hôtes depuis le fichier <return>/etc/hosts</return> comme partie du chargement du
  fichier <return>resolv.conf</return>.


id: EventDnsBase::OPTION_NAMESERVERS
type: constant
doc:
<comment>Description:</comment>
  Demande à connaître les noms des serveurs depuis le fichier <return>resolv.conf</return>.


id: EventDnsBase::OPTION_SEARCH
type: constant
doc:
<comment>Description:</comment>
  Demande à lire le domaine et recherche les champs depuis le fichier <return>resolv.conf</return> et l'option <return>ndots</return>,
  et les utilise pour décider quel domaine (s'il y en a) doit être utilisé pour chercher les noms
  d'hôtes qui ne sont pas totalement qualifiés.


id: EventDnsBase::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un objet EventDnsBase
  
  Construit un objet EventDnsBase.

<comment>Param:</comment>
  <info>EventBase</info>  <strong>$base</strong>        Evénement de base.
  <info>bool</info>       <strong>$initialize</strong>  Si l'argument <strong>$initialize</strong> vaut <info>true</info>, il tentera de configurer la
                          sensibilité de base du DNS fournie par le système opérant. Sinon, il
                          laissera l'événement de base DNS vide, avec aucun serveur de noms ou
                          options de configuré. Plus tard, la base du DNS devra être configurée
                          manuellement, i.e. avec la méthode EventDnsBase::parseResolvConf.

<comment>Return:</comment>
  <info>unknown</info>  Retourne un objet EventDnsBase.


id: EventDnsBase::addNameserverIp
type: function
doc:
<comment>Description:</comment>
  Ajoute un serveur de noms à la base DNS
  
  Ajoute un serveur de noms à evdns_base.

<comment>Param:</comment>
  <info>string</info>  <strong>$ip</strong>  La chaîne représentant le serveur de noms ; soit une adresse IPv4, soit une adresse
               IPv6, soit une adresse IPv4 avec un port (<return>IPv4:Port</return>), soit une adresse IPv6 avec un
               port (<return>[IPv6]:Port</return>).

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: EventDnsBase::addSearch
type: function
doc:
<comment>Description:</comment>
  Ajoute un domaine à la liste des domaines utilisés pour la recherche
  
  Ajoute un domaine à la liste des domaines utilisés pour la recherche.

<comment>Param:</comment>
  <info>string</info>  <strong>$domain</strong>  Le domaine à ajouter pour la recherche.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EventDnsBase::clearSearch
type: function
doc:
<comment>Description:</comment>
  Supprime tous les suffixes courants de recherche
  
  Supprime tous les suffixes courants de recherche depuis la base DNS ; la méthode
  EventDnsBase::addSearch ajoute un suffixe.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EventDnsBase::addSearch


id: EventDnsBase::countNameservers
type: function
doc:
<comment>Description:</comment>
  Récupère le nombre de serveurs de noms configurés
  
  Récupère le nombre de serveurs de noms configurés.

<comment>Return:</comment>
  <info>int</info>  Retourne le nombre de serveurs de noms configurés (pas nécessairement le nombre de serveurs
       de noms en cours de fonctionnement). Ceci est utile pour vérifier si nos appels aux diverses
       fonctions de configuration des serveurs de noms ont réussi ou non.


id: EventDnsBase::loadHosts
type: function
doc:
<comment>Description:</comment>
  Charge un fichier hosts (au même format que /etc/hosts)
  
  Charge un fichier hosts (au même format que /etc/hosts).

<comment>Param:</comment>
  <info>string</info>  <strong>$hosts</strong>  Chemin vers le fichier hosts.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: EventDnsBase::parseResolvConf
type: function
doc:
<comment>Description:</comment>
  Analyse le fichier resolv.conf
  
  Analyse le fichier resolv.conf, et y lit toutes les options pprésentes.

<comment>Param:</comment>
  <info>int</info>     <strong>$flags</strong>     Détermine les informations à analyser depuis le fichier <return>resolv.conf</return>. Voir la
                     page du manuel système du fichier <return>resolv.conf</return> pour connaitre son format.
                     
                     Les directives suivantes ne sont pas analysées dans le fichier : <return>sortlist,
                     rotate, no-check-names, inet6, debug</return>.
                     
                     Si cette fonction rencontre une erreur, les valeurs retournées possibles sont :
                     <info>1</info> = échec lors de l'ouverture du fichier<info>2</info> = échec lors de la récupération des
                     informations du fichier<info>3</info> = fichier trop grand<info>4</info> = dépassement mémoire<info>5</info> = lecture
                     trop courte du fichier<info>6</info> = aucun serveur de noms listé dans le fichier
  <info>string</info>  <strong>$filename</strong>  Chemin vers le fichier <return>resolv.conf</return>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: EventDnsBase::setOption
type: function
doc:
<comment>Description:</comment>
  Définit la valeur d'une option de configuration
  
  Définit la valeur d'une option de configuration.

<comment>Param:</comment>
  <info>string</info>  <strong>$option</strong>  Les options de configuration actuellement disponibles sont : <return>"ndots"</return>, <return>"timeout"</return>,
                   <return>"max-timeouts"</return>, <return>"max-inflight"</return> et <return>"attempts"</return>.
  <info>string</info>  <strong>$value</strong>   La valeur de l'option.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: EventDnsBase::setSearchNdots
type: function
doc:
<comment>Description:</comment>
  Définit le paramètre 'ndots' pour les recherches
  
  Définit le paramètre <info>'ndots'</info> pour les recherches. Définit le nombre de points qui, lorsqu'ils sont
  trouvés dans un nom, fait que la première requête se déroule sans recherche de domaine.

<comment>Param:</comment>
  <info>int</info>  <strong>$ndots</strong>  Le nombre de points.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: EventHttp::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un objet EventHttp (le serveur HTTP)
  
  Construit l'objet serveur HTTP.

<comment>Param:</comment>
  <info>EventBase</info>        <strong>$base</strong>  Evénement de base associé.
  <info>EventSslContext</info>  <strong>$ctx</strong>   L'objet de la classe <class>EventSslContext</class>. Transforme un serveur HTTP en un
                          serveur HTTPS. Cela signifie que si le paramètre <strong>$ctx</strong> est configuré
                          correctement, alors le buffer d'événements sous-jacent ser abasé sur des
                          sockets OpenSSL. Aussi, tout le trafic passera via SSL ou TLS.
                          
                          Ce paramètre n'est disponible que si <return>Event</return> a été compilé avec le support
                          d'OpenSSL, et seulement à partir de la version <return>Libevent 2.1.0-alpha</return> ou
                          supérieures.

<comment>Return:</comment>
  <info>unknown</info>  Retourne un objet <class>EventHttp</class>.


id: EventHttp::accept
type: function
doc:
<comment>Description:</comment>
  Autorise un serveur HTTP à accepter les connexions sur le
     socket ou la ressource spécifiée
  
  Autorise un serveur HTTP à accepter les connexions sur le socket ou la ressource spécifiée. Le
  socket doit être prêt à accepter les connexions.
  
  Peut être appelé plusieurs fois pour accepter les connexions sur différents sockets.
  
  Pour lier un socket, une connexion <return>listen</return> et une connexion <return>accept</return> sur le socket en un seul appel,
  utilisez la méthode EventHttp::bind. EventHttp::accept n'est nécessaire que si un socket est prêt
  à accepter les connexions.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$socket</strong>  Socket, flux, ou descripteur numérique de fichier représentant un socket prêt à
                  accepter les connexions.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventHttp::bind


id: EventHttp::addServerAlias
type: function
doc:
<comment>Description:</comment>
  Ajoute un alias du serveur pour l'objet serveur HTTP
  
  Ajoute un alias du serveur pour l'objet serveur HTTP.

<comment>Param:</comment>
  <info>string</info>  <strong>$alias</strong>  L'alias à ajouter.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventHttp::removeServerAlias


id: EventHttp::bind
type: function
doc:
<comment>Description:</comment>
  Lie un serveur HTTP sur une adresse et un port spécifiés
  
  Lie un serveur HTTP sur une adresse et un port spécifiés.
  
  Peut être appelée plusieurs fois pour lier le même serveur HTTP sur plusieurs ports.

<comment>Param:</comment>
  <info>string</info>  <strong>$address</strong>  Une chaîne de caractères contenant l'adresse IP à écouter.
  <info>int</info>     <strong>$port</strong>     Le numéro de port sur lequel l'écoute s'effectuera.

<comment>Return:</comment>
  <info>void</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventHttp::accept


id: EventHttp::removeServerAlias
type: function
doc:
<comment>Description:</comment>
  Supprime un alias sur le serveur
  
  Supprime un alias sur le serveur, précédemment ajouté avec la méthode EventHttp::addServerAlias

<comment>Param:</comment>
  <info>string</info>  <strong>$alias</strong>  L'alias à supprimer.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventHttp::addServerAlias


id: EventHttp::setAllowedMethods
type: function
doc:
<comment>Description:</comment>
  Définit les méthodes HTTP supportées et acceptées dans les requêtes
     sur ce serveur, et passées aux fonctions de rappel utilisateurs
  
  Définit les méthodes HTTP supportées et acceptées dans les requêtes sur ce serveur, et passées aux
  fonctions de rappel utilisateurs.
  
  Si non supportées, elles génèreront une réponse <return>"405 Method not allowed"</return>.
  
  Par défaut, les méthodes suivantes sont incluses : <return>GET</return>, <return>POST</return>, <return>HEAD</return>, <return>PUT</return>, et <return>DELETE</return>. Voir les
  constantes <return>EventHttpRequest::CMD_*</return>.

<comment>Param:</comment>
  <info>int</info>  <strong>$methods</strong>  Un masque de constantes <return>EventHttpRequest::CMD_*</return>.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EventHttp::setCallback
type: function
doc:
<comment>Description:</comment>
  Définit une fonction de rapppel pour une URI spécifique
  
  Définit une fonction de rapppel pour une URI spécifique.

<comment>Param:</comment>
  <info>string</info>            <strong>$path</strong>  L'URI pour laquelle la fonction de rappel doit être invoquée.
  <info>string</info>            <strong>$cb</strong>    La fonction de rappel <info>callable</info> qui sera invoquée lors d'une demande sur
                           l'URI <strong>$path</strong>. Elle doit correspondre au prototype suivant :
                           
                           <strong>$req</strong> Un objet <class>EventHttpRequest</class>. <strong>$arg</strong> Données personnalisées. 
                           
                           Un objet <class>EventHttpRequest</class>.
                           
                           Données personnalisées.
  <info>EventHttpRequest</info>  <strong>$req</strong>   Un objet <class>EventHttpRequest</class>.
  <info>string</info>            <strong>$arg</strong>   Données personnalisées.
  <info>string</info>            <strong>$arg</strong>   Données personnalisées.

<comment>Return:</comment>
  <info>void</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventHttp::setDefaultCallback


id: EventHttp::setDefaultCallback
type: function
doc:
<comment>Description:</comment>
  Définit la fonction de rappel par défaut pour gérer les requêtes qui ne sont pas attrappées par
     des fonctions de rappel spécifiques
  
  Définit la fonction de rappel par défaut pour gérer les requêtes qui ne sont pas attrappées par
  des fonctions de rappel spécifiques.

<comment>Param:</comment>
  <info>string</info>            <strong>$cb</strong>   La fonction de rappel de type <info>callable</info>. Elle doit correspondre au
                          prototype suivant :
                          
                          <strong>$req</strong><class>EventHttpRequest</class> Objet. <strong>$arg</strong> Données personnalisées. 
                          
                          <class>EventHttpRequest</class> Objet.
                          
                          Données personnalisées.
  <info>EventHttpRequest</info>  <strong>$req</strong>  <class>EventHttpRequest</class> Objet.
  <info>string</info>            <strong>$arg</strong>  Données personnalisées.
  <info>string</info>            <strong>$arg</strong>  Données personnalisées fournies par l'utilisateur à la fonction de rappel.

<comment>Return:</comment>
  <info>void</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventHttp::setCallback


id: EventHttp::setMaxBodySize
type: function
doc:
<comment>Description:</comment>
  Définit la taille maximale du corps de la demande
  
  Définit la taille maximale du corps de la demande.

<comment>Param:</comment>
  <info>int</info>  <strong>$value</strong>  La taille du corps, en octets.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EventHttp::setMaxHeadersSize


id: EventHttp::setMaxHeadersSize
type: function
doc:
<comment>Description:</comment>
  Définit la taille maximale des en-têtes HTTP
  
  Définit la taille maximale des en-têtes HTTP.

<comment>Param:</comment>
  <info>int</info>  <strong>$value</strong>  La taille maximale des en-têtes, en octets.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EventHttp::setMaxHeadersSize


id: EventHttp::setTimeout
type: function
doc:
<comment>Description:</comment>
  Définit le délai d'attente maximal pour une requête HTTP
  
  Définit le délai d'attente maximal pour une requête HTTP.

<comment>Param:</comment>
  <info>int</info>  <strong>$value</strong>  Le délai d'attente maximal, en secondes.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EventHttpConnection::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un objet EventHttpConnection
  
  Construit un objet EventHttpConnection.

<comment>Param:</comment>
  <info>EventBase</info>        <strong>$base</strong>      Base d'événement associé.
  <info>EventDnsBase</info>     <strong>$dns_base</strong>  Si vaut <info>null</info>, la résolution du nom d'hôte sera bloquante.
  <info>string</info>           <strong>$address</strong>   L'adresse de connexion.
  <info>int</info>              <strong>$port</strong>      Le port de connexion.
  <info>EventSslContext</info>  <strong>$ctx</strong>       L'objet de la classe <class>EventSslContext</class>. Active OpenSSL.
                              
                              Ce paramètre n'est disponible que si <return>Event</return> a été compilé avec le
                              support OpenSSL, et uniquement avec la version <return>Libevent 2.1.0-alpha</return> et
                              supérieures.

<comment>Return:</comment>
  <info>unknown</info>  Retourne un objet <class>EventHttpConnection</class>.


id: EventHttpConnection::getBase
type: function
doc:
<comment>Description:</comment>
  Retourne la base d'événement associée avec la connexion
  
  Retourne la base d'événement associée avec la connexion.

<comment>Return:</comment>
  <info>EventBase</info>  Retourne l'objet <class>EventBase</class> associé avec la connexion en cas de succès, <info>false</info> sinon.


id: EventHttpConnection::getPeer
type: function
doc:
<comment>Description:</comment>
  Récupère l'adresse et le port distant associés avec la connexion
  
  Récupère l'adresse et le port distant associés avec la connexion.

<comment>Param:</comment>
  <info>string</info>  <strong>$address</strong>  Adresse du pair.
  <info>int</info>     <strong>$port</strong>     Port du pair.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EventHttpConnection::makeRequest
type: function
doc:
<comment>Description:</comment>
  Effectue une requête HTTP sur la connexion spécifiée
  
  Effectue une requête HTTP sur la connexion spécifiée. Le paramètre <strong>$type</strong> sera une constante
  <return>EventHttpRequest::CMD_*</return>.

<comment>Param:</comment>
  <info>EventHttpRequest</info>  <strong>$req</strong>   L'objet représentant la connexion sur laquelle la requête sera envoyée.
  <info>int</info>               <strong>$type</strong>  Une constante <return>EventHttpRequest::CMD_*</return>.
  <info>string</info>            <strong>$uri</strong>   L'URI associé à la requête.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventHttpRequest::addHeader


id: EventHttpConnection::setCloseCallback
type: function
doc:
<comment>Description:</comment>
  Défini une fonction de rappel lors de la fermeture de la connexion
  
  Défini une fonction de rappel lors de la fermeture de la connexion.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Fonction de rappel à appeler lors de la fermeture de la connexion. Doit
                       correspondre au prototype suivant :

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EventHttpConnection::setLocalAddress
type: function
doc:
<comment>Description:</comment>
  Définit l'adresse IP depuis laquelle les connexions HTTP sont effectuées
  
  Définit l'adresse IP depuis laquelle les connexions HTTP sont effectuées.

<comment>Param:</comment>
  <info>string</info>  <strong>$address</strong>  L'adresse IIP depuis laquelle les connexions HTTP sont effectuées.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EventHttpConnection::setLocalPort


id: EventHttpConnection::setLocalPort
type: function
doc:
<comment>Description:</comment>
  Définit le port local depuis lequel les connexions sont effectuées
  
  Définit le port local depuis lequel les connexions sont effectuées.

<comment>Param:</comment>
  <info>int</info>  <strong>$port</strong>  Le numéro du port.

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

<comment>See Also:</comment>
   * EventHttpConnection::setLocalAddress


id: EventHttpConnection::setMaxBodySize
type: function
doc:
<comment>Description:</comment>
  Définit la taille maximale du corps pour la connexion
  
  Définit la taille maximale du corps pour la connexion.

<comment>Param:</comment>
  <info>string</info>  <strong>$max_size</strong>  La taille maximale du cors, en octets.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EventHttpConnection::setMaxHeadersSize


id: EventHttpConnection::setMaxHeadersSize
type: function
doc:
<comment>Description:</comment>
  Définit la taille maximale des en-têtes
  
  Définit la taille maximale des en-têtes pour la connexion.

<comment>Param:</comment>
  <info>string</info>  <strong>$max_size</strong>  La taille maximale des en-têtes, en octets.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EventHttpConnection::setMaxBodySize


id: EventHttpConnection::setRetries
type: function
doc:
<comment>Description:</comment>
  Définit le nombre de tentatives pour la connexion
  
  Définit le nombre de tentatives pour la connexion.

<comment>Param:</comment>
  <info>int</info>  <strong>$retries</strong>  Le nombre limite de tentatives. <info>-1</info> signifie indéfiniement.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EventHttpConnection::setTimeout
type: function
doc:
<comment>Description:</comment>
  Définit le délai d'attente maximal pour la connexion
  
  Définit le délai d'attente maximal pour la connexion.

<comment>Param:</comment>
  <info>int</info>  <strong>$timeout</strong>  Le délai d'attente maximal, en secondes.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EventHttpRequest::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un objet EventHttpRequest
  
  Construit un objet EventHttpRequest.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Fonction de rappel appelée avec le chemin demandé. Doit correspondre au
                       prototype suivant :
  <info>mixed</info>     <strong>$data</strong>      Données utilisateur personnalisées à passer à la fonction de rappel.

<comment>Return:</comment>
  <info>unknown</info>  Retourne un objet EventHttpRequest.

<comment>See Also:</comment>
   * EventHttpRequest::cancel
   * EventHttpRequest::addHeader


id: EventHttpRequest::addHeader
type: function
doc:
<comment>Description:</comment>
  Ajoute un en-tête HTTP aux en-têtes de la requête
  
  Ajoute un en-tête HTTP aux en-têtes de la requête.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>    Nom de l'en-tête.
  <info>string</info>  <strong>$value</strong>  Valeur de l'en-tête.
  <info>int</info>     <strong>$type</strong>   Une des constantes <return>EventHttpRequest::*_HEADER</return>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventHttpRequest::removeHeader


id: EventHttpRequest::cancel
type: function
doc:
<comment>Description:</comment>
  Annule une requête HTTP en attente
  
  Annule une requête HTTP en attente.
  
  Annule une requête HTTP entrante. La fonction de rappel associée avec cette requête ne sera pas
  exécutée, et l'objet de la requête, libéré. Si la requête est en cours de traitement, l'objet
  <class>EventHttpConnection</class> correspondant sera ré-initialisé.
  
  Une requête ne peut être annulée si sa fonction de rappel a déjà été exécutée. Une requête peut
  être annulée depuis sa fonction de rappel.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EventHttpRequest::clearHeaders
type: function
doc:
<comment>Description:</comment>
  Supprime tous les en-têtes depuis la liste des en-têtes de la requête
  
  Supprime tous les en-têtes depuis la liste des en-têtes de la requête.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EventHttpRequest::addHeader


id: EventHttpRequest::closeConnection
type: function
doc:
<comment>Description:</comment>
  Ferme les connexions HTTP associées
  
  Ferme les connexions HTTP associées avec la requête.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EventHttpRequest::findHeader
type: function
doc:
<comment>Description:</comment>
  Cherche la valeur d'un en-tête
  
  Cherche la valeur d'un en-tête.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>   Le nom de l'en-tête.
  <info>string</info>  <strong>$type</strong>  Une des constantes <return>EventHttpRequest::*_HEADER</return>.

<comment>Return:</comment>
  <info>void</info>  Retourne <info>null</info> si l'en-tête n'a pas été trouvé.

<comment>See Also:</comment>
   * EventHttpRequest::addHeader


id: EventHttpRequest::free
type: function
doc:
<comment>Description:</comment>
  Libère l'objet et supprime les événements associés
  
  Libère l'objet et supprime les événements associés.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EventHttpRequest::getBufferEvent
type: function
doc:
<comment>Description:</comment>
  Retourne l'objet EventBufferEvent
  
  Retourne l'objet <class>EventBufferEvent</class> qui représente l'événement de buffer que la connexion utilise.
  
  Le compteur de référence de l'objet retourné sera incrémenté de un pour  protéger les structures
  interne contre des destructions prématurés quand  la méthode est appelé depuis une fonction de
  rappel. L'objet  <class>EventBufferEvent</class> doit donc être libéré explicitement  via la méthode
  EventBufferEvent::free. Sinon il y aura une fuite de mémoire.

<comment>Return:</comment>
  <info>EventBufferEvent</info>  Retourne un objet <class>EventBufferEvent</class>.

<comment>See Also:</comment>
   * EventHttpRequest::getConnection


id: EventHttpRequest::getCommand
type: function
doc:
<comment>Description:</comment>
  Retourne la commande de la requête (méthode)
  
  Retourne la commande de la requête ; une des constantes <return>EventHttpRequest::CMD_*</return>.

<comment>Return:</comment>
  <info>void</info>  Retourne la commande de la requête ; une des constantes <return>EventHttpRequest::CMD_*</return>.


id: EventHttpRequest::getConnection
type: function
doc:
<comment>Description:</comment>
  Retourne un objet EventHttpConnection
  
  Retourne un objet <class>EventHttpConnection</class> qui représente une connexion HTTP associée à la requête.
  
  L'API Libevent autorise les objets de requête HTTP à ne pas être liés à une connexion HTTP.
  Toutefois, nous ne pouvons pas dissocié <class>EventHttpRequest</class> de <class>EventHttpConnection</class>. Aussi, nous
  construisons l'objet <class>EventHttpConnection</class> à la volée. Vu que nous n'avons aucune information sur
  l'événement de vase,  la base DNS, ni sur la fonction de rappel associée à la fermeture de la
  connexion, nous positionnons ces champs indéfinis.
  
  La méthode EventHttpRequest::getConnection est habituellement utile lorsque nous devons définir
  une fonction de rappel à associer à la fermeture de la connexion. Voir la méthode
  EventHttpConnection::setCloseCallback.

<comment>Return:</comment>
  <info>EventHttpConnection</info>  Retourne un objet <class>EventHttpConnection</class>.

<comment>See Also:</comment>
   * EventHttpConnection::setCloseCallback
   * EventHttpRequest::getBufferEvent


id: EventHttpRequest::getHost
type: function
doc:
<comment>Description:</comment>
  Retourne l'hôte demandé
  
  Retourne l'hôte demandé.

<comment>Return:</comment>
  <info>string</info>  Retourne l'hôte demandé.

<comment>See Also:</comment>
   * EventHttpRequest::getUri
   * EventHttpRequest::getCommand


id: EventHttpRequest::getInputBuffer
type: function
doc:
<comment>Description:</comment>
  Retourne le buffer d'entrée
  
  Retourne le buffer d'entrée.

<comment>Return:</comment>
  <info>EventBuffer</info>  Retourne le buffer d'entrée.

<comment>See Also:</comment>
   * EventHttpRequest::getOutputBuffer


id: EventHttpRequest::getInputHeaders
type: function
doc:
<comment>Description:</comment>
  Retourne le tableau associatif contenant les en-têtes d'entrée
  
  Retourne le tableau associatif contenant les en-têtes d'entrée.

<comment>Return:</comment>
  <info>array</info>  Retourne le tableau associatif contenant les en-têtes d'entrée.

<comment>See Also:</comment>
   * EventHttpRequest::getOutputHeaders


id: EventHttpRequest::getOutputBuffer
type: function
doc:
<comment>Description:</comment>
  Retourne le buffer de sortie de la requête
  
  Retourne le buffer de sortie de la requête.

<comment>Return:</comment>
  <info>EventBuffer</info>  Retourne le buffer de sortie de la requête.

<comment>See Also:</comment>
   * EventHttpRequest::getInputBuffer


id: EventHttpRequest::getOutputHeaders
type: function
doc:
<comment>Description:</comment>
  Retourne un tableau associatif contenant les en-têtes de sortie
  
  Retourne un tableau associatif contenant les en-têtes de sortie.

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

<comment>See Also:</comment>
   * EventHttpRequest::getInputHeaders


id: EventHttpRequest::getResponseCode
type: function
doc:
<comment>Description:</comment>
  Retourne le code de la réponse
  
  Retourne le code de la réponse.

<comment>Return:</comment>
  <info>int</info>  Retourne le code de la réponse.

<comment>See Also:</comment>
   * EventHttpRequest::getCommand
   * EventHttpRequest::getHost
   * EventHttpRequest::getUri


id: EventHttpRequest::getUri
type: function
doc:
<comment>Description:</comment>
  Retourne l'URI de la requête
  
  Retourne l'URI de la requête.

<comment>Return:</comment>
  <info>string</info>  Retourne l'URI de la requête.

<comment>See Also:</comment>
   * EventHttpRequest::getCommand
   * EventHttpRequest::getHost
   * EventHttpRequest::getResponseCode


id: EventHttpRequest::removeHeader
type: function
doc:
<comment>Description:</comment>
  Supprime un en-tête HTTP depuis les en-têtes de la requête
  
  Supprime un en-tête HTTP depuis les en-têtes de la requête.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>   Le nom de l'en-tête.
  <info>string</info>  <strong>$type</strong>  Une constante <return>EventHttpRequest::*_HEADER</return>.

<comment>Return:</comment>
  <info>void</info>  Supprime un en-tête HTTP depuis les en-têtes de la requête.

<comment>See Also:</comment>
   * EventHttpRequest::addHeader


id: EventHttpRequest::sendError
type: function
doc:
<comment>Description:</comment>
  Envoi un message d'erreur HTML au client
  
  Envoi un message d'erreur HTML au client.

<comment>Param:</comment>
  <info>int</info>     <strong>$error</strong>   Le code erreur HTTP.
  <info>string</info>  <strong>$reason</strong>  Une brève explication de l'erreur. Si vaut <info>null</info>, la signification standart du
                   code erreur sera utilisée.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EventHttpRequest::sendReply


id: EventHttpRequest::sendReply
type: function
doc:
<comment>Description:</comment>
  Envoi une réponse HTML au client
  
  Envoi une réponse HTML au client. Le corps de la réponse contient les données du paramètre
  optionnel <strong>$buf</strong>.

<comment>Param:</comment>
  <info>int</info>          <strong>$code</strong>    Le code réponse HTTP à envoyer.
  <info>string</info>       <strong>$reason</strong>  Un bref message à envoyer avec le code réponse.
  <info>EventBuffer</info>  <strong>$buf</strong>     Le corps de la réponse.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EventHttpRequest::sendError
   * EventHttpRequest::sendReplyChunk


id: EventHttpRequest::sendReplyChunk
type: function
doc:
<comment>Description:</comment>
  Envoi un autre bloc de données comme partie d'un bloc de réponse entrant
  
  Envoi un autre bloc de données comme partie d'un bloc de réponse entrant. Après l'appel de cette
  méthode, le paramètre <strong>$buf</strong> sera vide.

<comment>Param:</comment>
  <info>EventBuffer</info>  <strong>$buf</strong>  Le bloc de données à envoyer comme partie de la réponse.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EventHttpRequest::sendReplyStart
   * EventHttpRequest::sendReplyEnd


id: EventHttpRequest::sendReplyEnd
type: function
doc:
<comment>Description:</comment>
  Complète un bloc de réponse, en libérant la requête
  
  Complète un bloc de réponse, en libérant la requête.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EventHttpRequest::sendReplyStart
   * EventHttpRequest::sendReplyChunk


id: EventHttpRequest::sendReplyStart
type: function
doc:
<comment>Description:</comment>
  Initialise un bloc de réponse
  
  Initialise une réponse qui utilise les en-têtes <return>Transfer-Encoding</return> <return>chunked</return>.
  
  Ceci permet l'appelant à diffuser la réponse au client, et est utile lorsque toutes les données de
  la réponse ne sont pas immédiatement disponibles, ou bien lors d'envoi de réponses trop
  volumineuses.
  
  L'appelant doit fournir les blocs de données avec la méthode EventHttpRequest::sendReplyChunk et
  compléter la réponse en appelant la méthode EventHttpRequest::sendReplyEnd.

<comment>Param:</comment>
  <info>int</info>     <strong>$code</strong>    Le code réponse HTTP à envoyer.
  <info>string</info>  <strong>$reason</strong>  Un bref message à envoyer avec le code réponse.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * EventHttpRequest::sendReplyChunk
   * EventHttpRequest::sendReplyEnd


id: EventListener::OPT_CLOSE_ON_EXEC
type: constant
doc:
<comment>Description:</comment>
  Si cette option est définie, l'écoute de la connexion définit le drapeau de fermeture à
  l'exécution sur le socket d'écoute sous-jacent. Voir la documentation de la plateforme pour plus
  d'informations sur <return>fcntl</return> et <info>FD_CLOEXEC</info>.


id: EventListener::OPT_CLOSE_ON_FREE
type: constant
doc:
<comment>Description:</comment>
  Si cette option est définie, l'écoute de la connexion ferme son socket sous-jacent lorsque l'objet
  <class>EventListener</class> est libéré.


id: EventListener::OPT_LEAVE_SOCKETS_BLOCKING
type: constant
doc:
<comment>Description:</comment>
  Par défaut, Libevent passe en mode non bloquant les descripteurs de fichiers ou sockets
  sous-jacents. Ce drapeau indique à Libevent de les laisser en mode bloquant.


id: EventListener::OPT_REUSEABLE
type: constant
doc:
<comment>Description:</comment>
  Par défaut sur quelques plateformes, une fois qu'un socket d'écoute est fermé, aucun autre socket
  ne peut être lié sur le même port tant qu'un certain temps ne s'est pas écoulé. Le fait de définir
  cette option fait que Libevent va marquer ce socket comme réutilisable, aussi, une fois clos, un
  autre socket  peut être ouvert pour écouter le même port.


id: EventListener::OPT_THREADSAFE
type: constant
doc:
<comment>Description:</comment>
  Verrouillage de l'allocation pour l'écouteur ; ainsi, il est sécurisé de l'utiliser depuis
  plusieurs threads.


id: EventListener::__construct
type: function
doc:
<comment>Description:</comment>
  Crée un nouvel écouteur de connexion associé avec la base d'événement
  
  Crée un nouvel écouteur de connexion associé avec la base d'événement.

<comment>Param:</comment>
  <info>EventBase</info>  <strong>$base</strong>     Base d'événement associée.
  <info>callable</info>   <strong>$cb</strong>       Un <info>callable</info> qui sera invoqué lorsqu'une nouvelle connexion sera reçue.
  <info>mixed</info>      <strong>$data</strong>     Données utilisateur personnalisées attachées au paramètre <strong>$cb</strong>.
  <info>int</info>        <strong>$flags</strong>    Un masque de constantes <return>EventListener::OPT_*</return>. Voir les constantes
                       EventListener.
  <info>int</info>        <strong>$backlog</strong>  Contrôle le nombre maximal de connexions en attente que la pile réseau
                       autorise à patienter dans un statut "non encore accepté" ; voir la
                       documentation de la fonction <return>listen</return> de votre système pour plus de détails. Si
                       le paramètre <strong>$backlog</strong> est négatif, Libevent tente de récupérer une bonne
                       valeur pour ce paramètre ; s'il vaut zéro, Event présume que la fonction
                       système <return>listen</return> a déjà été appelée sur le socket (<strong>$target</strong>).
  <info>mixed</info>      <strong>$target</strong>   Peut être une chaîne de caractères, une ressource de socket, ou un flux
                       associé avec un socket. Dans le cas où ce paramètre est une chaîne de
                       caractères, elle sera analysée comme adresse IP. Elle sera analysée comme
                       sochet de domaine UNIX si elle est préfixée par <return>'unix:'</return>, par exemple,
                       <return>'unix:/tmp/my.sock'</return>.

<comment>Return:</comment>
  <info>unknown</info>  Retourne un objet <class>EventListener</class> représentant l'écouteur d'événement de connexion.


id: EventListener::disable
type: function
doc:
<comment>Description:</comment>
  Désactive un objet d'écoute d'événement de connexion
  
  Désactive un objet d'écoute d'événement de connexion.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventListener::enable


id: EventListener::enable
type: function
doc:
<comment>Description:</comment>
  Active un objet d'écoute d'événement de connexion
  
  Active un objet d'écoute d'événement de connexion.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * EventListener::disable


id: EventListener::getBase
type: function
doc:
<comment>Description:</comment>
  Retourne la base d'événement associée avec l'écouteur d'événements
  
  Retourne la base d'événement associée avec l'écouteur d'événements.

<comment>Return:</comment>
  <info>void</info>  Retourne la base d'événement associée avec l'écouteur d'événements.


id: EventListener::getSocketName
type: function
doc:
<comment>Description:</comment>
  Récupère l'adresse courant pour laquelle le socket d'écoute est lié
  
  Récupère l'adresse courant pour laquelle le socket d'écoute est lié.

<comment>Param:</comment>
  <info>string</info>  <strong>$address</strong>  Paramètre de sortie. L'adresse IP suivant la famille d'adresse du socket.
  <info>mixed</info>   <strong>$port</strong>     Paramètre de sortie. Le port sur lequel le socket est lié.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: EventListener::setCallback
type: function
doc:
<comment>Description:</comment>
  Le but de setCallback
  
  Place une fonction de rappel pour l'événement de connexion, et, optionnellement, des arguments
  pour cette fonction de rappel.

<comment>Param:</comment>
  <info>callable</info>       <strong>$cb</strong>        La nouvelle fonction de rappel pour les nouvelles connexions. Ignoré si
                            vaut <info>null</info>.
                            
                            Doit correspondre au prototype suivant :
                            
                            <strong>$listener</strong> L'objet <class>EventListener</class>. <strong>$fd</strong> Le descripteur de fichier ou une
                            ressource associée à l'écoute. <strong>$address</strong> Tableau de deux éléments :
                            l'adresse IP et le port du serveur. <strong>$arg</strong> Données utilisateur
                            personnalisées attachées à la fonction de rappel.
                            
                            L'objet <class>EventListener</class>.
                            
                            Le descripteur de fichier ou une ressource associée à l'écoute.
                            
                            Tableau de deux éléments : l'adresse IP et le port du serveur.
                            
                            Données utilisateur personnalisées attachées à la fonction de rappel.
  <info>EventListener</info>  <strong>$listener</strong>  L'objet <class>EventListener</class>.
  <info>mixed</info>          <strong>$fd</strong>        Le descripteur de fichier ou une ressource associée à l'écoute.
  <info>array</info>          <strong>$address</strong>   Tableau de deux éléments : l'adresse IP et le port du serveur.
  <info>mixed</info>          <strong>$arg</strong>       Données utilisateur personnalisées attachées à la fonction de rappel.
  <info>mixed</info>          <strong>$arg</strong>       Données utilisateur personnalisées attachées à la fonction de rappel.
                            Ignoré si vaut <info>null</info>.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: EventListener::setErrorCallback
type: function
doc:
<comment>Description:</comment>
  Définit la fonction de rappel sur l'évènement d'erreur
  
  Définit la fonction de rappel sur l'évènement d'erreur.

<comment>Param:</comment>
  <info>string</info>         <strong>$cb</strong>        La fonction de rappel pour l'erreur. Doit correspondre au prototype
                            suivant :
                            
                            <strong>$listener</strong> L'objet <class>EventListener</class>. <strong>$data</strong> Données personnalisées de
                            l'utilisateur à associer à la fonction de rappel.
                            
                            L'objet <class>EventListener</class>.
                            
                            Données personnalisées de l'utilisateur à associer à la fonction de
                            rappel.
  <info>EventListener</info>  <strong>$listener</strong>  L'objet <class>EventListener</class>.
  <info>mixed</info>          <strong>$data</strong>      Données personnalisées de l'utilisateur à associer à la fonction de
                            rappel.

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

<comment>See Also:</comment>
   * EventListener::setCallback


id: EventSslContext
type: class
doc:
<comment>Description:</comment>
  Représente la structure <return>SSL_CTX</return>. Fournit des méthodes et des propriétés pour configurer le
  contexte SSL.


id: EventSslContext::OPT_ALLOW_SELF_SIGNED
type: constant
doc:
<comment>Description:</comment>
  Clé pour un élément du tableau contenant les options, utilisé dans la méthode
  EventSslContext::__construct. Représente une option qui autorise les certificats autosignés.


id: EventSslContext::OPT_CA_FILE
type: constant
doc:
<comment>Description:</comment>
  Clé pour un élément du tableau contenant les options, utilisé dans la méthode
  EventSslContext::__construct. Représente le chemin vers le fichier de l'autorité du certificat.


id: EventSslContext::OPT_CA_PATH
type: constant
doc:
<comment>Description:</comment>
  Clé pour un élément du tableau contenant les options, utilisé dans la méthode
  EventSslContext::__construct. Représente le chemin dans lequel on doit chercher le fichier de
  l'autorité du certificat.


id: EventSslContext::OPT_CIPHERS
type: constant
doc:
<comment>Description:</comment>
  Clé pour un élément du tableau contenant les options, utilisé dans la méthode
  EventSslContext::__construct. Représente la liste cipher pour le contexte SSL.


id: EventSslContext::OPT_LOCAL_CERT
type: constant
doc:
<comment>Description:</comment>
  Clé pour un élément du tableau contenant les options, utilisé dans la méthode
  EventSslContext::__construct. Les options pointent vers le chemin du certificat local.


id: EventSslContext::OPT_LOCAL_PK
type: constant
doc:
<comment>Description:</comment>
  Clé pour un élément du tableau contenant les options, utilisé dans la méthode
  EventSslContext::__construct. Les options pointent vers le chemin de la clé privée.


id: EventSslContext::OPT_PASSPHRASE
type: constant
doc:
<comment>Description:</comment>
  Clé pour un élément du tableau contenant les options, utilisé dans la méthode
  EventSslContext::__construct. Représente la passphrase du certificat.


id: EventSslContext::OPT_VERIFY_DEPTH
type: constant
doc:
<comment>Description:</comment>
  Clé pour un élément du tableau contenant les options, utilisé dans la méthode
  EventSslContext::__construct. Représente la profondeur maximale de la vérification de la chaîne du
  certificat qui doit être autorisée pour le contexte SSL.


id: EventSslContext::OPT_VERIFY_PEER
type: constant
doc:
<comment>Description:</comment>
  Clé pour un élément du tableau contenant les options, utilisé dans la méthode
  EventSslContext::__construct. Représente une option qui indique à Event de vérifier les pairs.


id: EventSslContext::SSLv23_CLIENT_METHOD
type: constant
doc:
<comment>Description:</comment>
  Méthode cliente SSLv23. Voir la page du manuel sur <return>SSL_CTX_new(3)</return>.


id: EventSslContext::SSLv23_SERVER_METHOD
type: constant
doc:
<comment>Description:</comment>
  Méthode serveur SSLv23. Voir la page du manuel sur <return>SSL_CTX_new(3)</return>.


id: EventSslContext::SSLv2_CLIENT_METHOD
type: constant
doc:
<comment>Description:</comment>
  Méthode cliente SSLv2. Voir la page du manuel sur <return>SSL_CTX_new(3)</return>.


id: EventSslContext::SSLv2_SERVER_METHOD
type: constant
doc:
<comment>Description:</comment>
  Méthode serveur SSLv2. Voir la page du manuel sur <return>SSL_CTX_new(3)</return>.


id: EventSslContext::SSLv3_CLIENT_METHOD
type: constant
doc:
<comment>Description:</comment>
  Méthode cliente SSLv3. Voir la page du manuel sur <return>SSL_CTX_new(3)</return>.


id: EventSslContext::SSLv3_SERVER_METHOD
type: constant
doc:
<comment>Description:</comment>
  Méthode serveur SSLv3. Voir la page du manuel sur <return>SSL_CTX_new(3)</return>.


id: EventSslContext::TLS_CLIENT_METHOD
type: constant
doc:
<comment>Description:</comment>
  Méthode cliente TLS. Voir la page du manuel sur <return>SSL_CTX_new(3)</return>.


id: EventSslContext::TLS_SERVER_METHOD
type: constant
doc:
<comment>Description:</comment>
  Méthode serveur TLS. Voir la page du manuel sur <return>SSL_CTX_new(3)</return>.


id: EventSslContext::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un contexte OpenSSL à utiliser avec les classes Event
  
  Crée un contexte SSL contenant le pointeur vers <return>SSL_CTX</return> (voir le manuel système).

<comment>Param:</comment>
  <info>string</info>  <strong>$method</strong>   Une des constantes <return>EventSslContext::*_METHOD</return>.
  <info>string</info>  <strong>$options</strong>  Un tableau associatif d'options de contexte SSL. Une des constantes
                    <return>EventSslContext::OPT_*</return>.

<comment>Return:</comment>
  <info>unknown</info>  Retourne un objet <class>EventSslContext</class>.


id: EventUtil
type: class
doc:
<comment>Description:</comment>
  La classe <class>EventUtil</class> est un squelette avec des méthodes et des constantes supplémentaires.


id: EventUtil::IPPROTO_IP
type: constant
doc:
<comment>Description:</comment>
  Voir la page du manuel sur <return>socket(7)</return>. (Ajouté en event-1.6.0.)


id: EventUtil::LIBEVENT_VERSION_NUMBER
type: constant
doc:
<comment>Description:</comment>
  Numéro de version de Libevent au moment où l'extension Event a été compilée avec la bibliothèque.


id: EventUtil::SOL_SOCKET
type: constant
doc:
<comment>Description:</comment>
  Option du socket. Voir la page du manuel sur <return>socket(7)</return>. (Ajouté en event-1.6.0.)


id: EventUtil::SO_BROADCAST
type: constant
doc:
<comment>Description:</comment>
  Option du socket. Indique si la transmission des messages de broadcast est supportée. Voir la page
  de manuel sur <return>socket(7)</return>. (Ajouté en event-1.6.0.)


id: EventUtil::SO_DEBUG
type: constant
doc:
<comment>Description:</comment>
  Option du socket. Active le débogage du socket.Uniquement autorisé pour les processus avec la
  capacité <return>CAP_NET_ADMIN</return> ou un ID d'utilisateur effectif de <info>0</info>. (Ajouté en event-1.6.0.)


id: EventUtil::SO_DONTROUTE
type: constant
doc:
<comment>Description:</comment>
  Option du socket. Voir la page de manuel sur <return>socket(7)</return>. (Ajouté en event-1.6.0.)


id: EventUtil::SO_KEEPALIVE
type: constant
doc:
<comment>Description:</comment>
  Option du socket. Active l'envoi de messages keep-alive sur les sockets de connexion. Attend un
  entier. Voir la page de manuel sur <return>socket(7)</return>. (Ajouté en event-1.6.0.)


id: EventUtil::SO_LINGER
type: constant
doc:
<comment>Description:</comment>
  Option du socket. Lorsqu'actif, un appel à <return>close(2)</return> ou à <return>shutdown(2)</return> ne va pas retourner tant que
  tous les messages de la file d'attente du socket n'ont pas été envoyés, ou que le délai d'attente
  maximal du linger ne sera pas atteint. Sinon, les appels retourneront immédiatement et la
  fermeture sera faite en arrière plan. Voir la page du manuel sur <return>socket(7)</return>. (Ajouté en
  event-1.6.0.)


id: EventUtil::SO_REUSEADDR
type: constant
doc:
<comment>Description:</comment>
  Option du socket. Indique que les règles utilisées dans la validation des adresses fournies dans
  un appel à <return>bind(2)</return> doivent autorisées la ré-utilisation des adresses locales. Voir la page de
  manuel sur <return>socket(7)</return>. (Ajouté en event-1.6.0.)


id: EventUtil::__construct
type: function
doc:
<comment>Description:</comment>
  Le constructeur
  
  <class>EventUtil</class> est un squelette. Aussi, le constructeur est obstrait, et il est donc impossible de
  créer des objets en se basant sur cette classe.

<comment>Return:</comment>
  <info>unknown</info>  Aucune valeur n'est retournée.


id: EventUtil::getLastSocketErrno
type: function
doc:
<comment>Description:</comment>
  Retourne le numéro d'erreur le plus récemment survenu sur le socket
  
  Retourne le numéro d'erreur le plus récemment survenu sur le socket  (<return>errno</return>).

<comment>Param:</comment>
  <info>mixed</info>  <strong>$socket</strong>  Ressource de socket, flux ou descripteur de fichier de socket.

<comment>Return:</comment>
  <info>int</info>  Retourne le numéro d'erreur le plus récemment survenu sur le socket  (<return>errno</return>).

<comment>See Also:</comment>
   * EventUtil::getLastSocketError


id: EventUtil::getLastSocketError
type: function
doc:
<comment>Description:</comment>
  Retourne l'erreur la plus récemment survenue sur le socket
  
  Retourne l'erreur la plus récemment survenue sur le socket.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$socket</strong>  Ressource de socket, flux, ou descripteur de fichier de socket.

<comment>Return:</comment>
  <info>string</info>  Retourne l'erreur la plus récemment survenue sur le socket.

<comment>See Also:</comment>
   * EventUtil::getLastSocketErrno


id: EventUtil::getSocketFd
type: function
doc:
<comment>Description:</comment>
  Retourne le descripteur de fichier d'un socket ou d'un flux
  
  Retourne le descripteur numérique de fichier d'un socket ou d'un flux spécifié par le paramètre
  <strong>$socket</strong>, comme le fait l'extension <return>Event</return> en interne pour toutes les méthodes acceptant un socket
  ou un flux.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$socket</strong>  Socket ou flux.

<comment>Return:</comment>
  <info>int</info>  Retourne descripteur de fichier numérique en cas de succès, <info>false</info> sinon.
       EventUtil::getSocketFd retourne <info>false</info> dans le cas où le type du fichier n'a pu être reconnu,
       ou bien lorsque le descripteur du fichier associé avec le paramètre <strong>$socket</strong> n'est pas valide.


id: EventUtil::getSocketName
type: function
doc:
<comment>Description:</comment>
  Récupère l'adresse courant liée au socket
  
  Récupère l'adresse courant liée au <strong>$socket</strong>.

<comment>Param:</comment>
  <info>mixed</info>   <strong>$socket</strong>   Ressource de socket, flux, ou descripteur de fichier de socket.
  <info>string</info>  <strong>$address</strong>  Paramètre de sortie. Adresse IP ou le chemin du domaine UNIX du socket, suivant
                    la famille d'adresse du socket.
  <info>mixed</info>   <strong>$port</strong>     Paramètre de sortie. Le port lié au socket. N'a pas de sens pour les sockets de
                    domaine UNIX.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: EventUtil::setSocketOption
type: function
doc:
<comment>Description:</comment>
  Définit les options du socket
  
  Définit les options du socket.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$socket</strong>   Ressource de socket, flux, ou descripteur de fichier numérique associé avec le
                   socket.
  <info>int</info>    <strong>$level</strong>    Une constante <return>EventUtil::SOL_*</return>. Spécifie le niveau du protocole dans lequel
                   résident les options. Par exemple, pour récupérer les options au niveau socket,
                   le paramètre <strong>$level</strong> doit être positionné à la valeur <info>EventUtil::SOL_SOCKET</info>. Les
                   autres niveaux, comme TCP, peuvent être utilisés en spécifiant le numéro du
                   protocole de ce niveau. Les numéros des protocoles peuvent être retrouvés en
                   utilisant la fonction <strong>getprotobyname()</strong>. Voir aussi les constantes EventUtil.
  <info>int</info>    <strong>$optname</strong>  Nom de l'option (type). A la même signification que le paramètre correspondant de
                   la fonction <strong>socket_get_option()</strong>. Voir aussi les constantes EventUtil.
  <info>mixed</info>  <strong>$optval</strong>   Accepte les mêmes valeurs que le paramètre <strong>$optval</strong> de la fonction
                   <strong>socket_get_option()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>socket_get_option()</strong>
   * <strong>socket_set_option()</strong>


id: EventUtil::sslRandPoll
type: function
doc:
<comment>Description:</comment>
  Génère l'entropie via OpenSSL RAND_poll()
  
  Génère l'entropie via OpenSSL <return>RAND_poll()</return> (voir le manuel système).

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Exception::__clone
type: function
doc:
<comment>Description:</comment>
  Clone l'exception
  
  Les <class>Exception</class>s ne peuvent pas être clonées, et tenter de le faire va lever une exception <class>Error</class>.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: Exception::__construct
type: function
doc:
<comment>Description:</comment>
  Construit l'exception
  
  Construit l'exception.

<comment>Param:</comment>
  <info>string</info>          <strong>$message</strong>   Le message de l'exception à lancer.
  <info>int</info>             <strong>$code</strong>      Le code de l'exception.
  <info>Throwable|null</info>  <strong>$previous</strong>  L'exception précédente, utilisée pour le chaînage d'exception.


id: Exception::__toString
type: function
doc:
<comment>Description:</comment>
  Représente l'exception sous la forme d'une chaîne
  
  Retourne une représentation de l'exception sous forme d'une chaîne de caractères.

<comment>Return:</comment>
  <info>string</info>  Retourne la représentation de l'exception, sous la forme d'une chaîne de caractères.

<comment>See Also:</comment>
   * Throwable::__toString


id: Exception::getCode
type: function
doc:
<comment>Description:</comment>
  Récupère le code de l'exception
  
  Retourne le code de l'exception.

<comment>Return:</comment>
  <info>int</info>  Retourne le code de l'exception, sous la forme d'un entier dans la classe <class>Exception</class> mais
       aussi sous la forme d'un autre type de données dans les classes héritant de <class>Exception</class> (par
       exemple, sous la forme d'une chaîne de caractères dans la classe <class>PDOException</class>).

<comment>See Also:</comment>
   * Throwable::getCode


id: Exception::getFile
type: function
doc:
<comment>Description:</comment>
  Récupère le fichier dans lequel l'exception a été créée
  
  Récupère le nom du fichier dans lequel l'exception a été créée.

<comment>Return:</comment>
  <info>string</info>  Retourne le nom du fichier dans lequel l'exception a été créée.

<comment>See Also:</comment>
   * Throwable::getFile


id: Exception::getLine
type: function
doc:
<comment>Description:</comment>
  Récupère la ligne dans laquelle l'exception a été créée
  
  Récupère le numéro de la ligne où l'exception a été créée.

<comment>Return:</comment>
  <info>int</info>  Retourne le numéro de la ligne où l'exception a été créée.

<comment>See Also:</comment>
   * Throwable::getLine


id: Exception::getMessage
type: function
doc:
<comment>Description:</comment>
  Récupère le message de l'exception
  
  Retourne le message de l'exception.

<comment>Return:</comment>
  <info>string</info>  Retourne le message de l'exception, sous la forme d'une chaîne de caractères.

<comment>See Also:</comment>
   * Throwable::getMessage


id: Exception::getPrevious
type: function
doc:
<comment>Description:</comment>
  Retourne le Throwable précédent
  
  Retourne le<class>Throwable</class> précédent (le troisième paramètre de la méthode Exception::__construct).

<comment>Return:</comment>
  <info>Throwable|null</info>  Retourne la précédente <class>Throwable</class> si disponible,  <info>null</info> sinon.

<comment>See Also:</comment>
   * Throwable::getPrevious


id: Exception::getTrace
type: function
doc:
<comment>Description:</comment>
  Récupère la trace de la pile
  
  Retourne la trace de la pile de l'exception.

<comment>Return:</comment>
  <info>array</info>  Retourne la trace de la pile de l'exception sous la forme d'un tableau.

<comment>See Also:</comment>
   * Throwable::getTrace


id: Exception::getTraceAsString
type: function
doc:
<comment>Description:</comment>
  Récupère la trace de la pile en tant que chaîne
  
  Retourne la trace de la pile de l'exception, sous la forme d'une chaîne de caractères.

<comment>Return:</comment>
  <info>string</info>  Retourne la trace de la pile de l'exception, sous la forme d'une chaîne de caractères.

<comment>See Also:</comment>
   * Throwable::getTraceAsString


id: Executable::execute
type: function
doc:
<comment>Description:</comment>
  Execute statement
  
  Execute the statement from either a collection operation or a table query; this functionality
  allows for method chaining.

<comment>Return:</comment>
  <info>mysql_xdevapi\Result</info>  One of the Result objects, such as Result or SqlStatementResult.


id: ExecutionStatus::__construct
type: function
doc:
<comment>Description:</comment>
  ExecutionStatus constructor
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.


id: Expression::__construct
type: function
doc:
<comment>Description:</comment>
  Expression constructor
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

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


id: FANNConnection
type: class
doc:
<comment>Description:</comment>
  <class>FANNConnection</class> is used for the neural network connection. The objects of this class are used in
  <strong>fann_get_connection_array()</strong> and <strong>fann_set_weight_array()</strong>.


id: FANNConnection::__construct
type: function
doc:
<comment>Description:</comment>
  Le constructeur de connexion
  
  Crée une nouvelle connexion et initialise ces paramètres. Après avoir créée la connexion, seul le
  poids peut être modifié.

<comment>Param:</comment>
  <info>int</info>    <strong>$from_neuron</strong>  Le numéro de la position du neurone de départ.
  <info>int</info>    <strong>$to_neuron</strong>    Le numéro de la position du neurone de fin.
  <info>float</info>  <strong>$weight</strong>       La valeur de poids de la connexion.


id: FANNConnection::getFromNeuron
type: function
doc:
<comment>Description:</comment>
  Retourne la position du neurone de départ
  
  Retourne la position du neurone de départ.

<comment>Return:</comment>
  <info>int</info>  La position du neurone de départ.


id: FANNConnection::getToNeuron
type: function
doc:
<comment>Description:</comment>
  Retourne la position du neurone de fin
  
  Retourne la position du neurone de fin.

<comment>Return:</comment>
  <info>int</info>  La position du neurone de fin.


id: FANNConnection::getWeight
type: function
doc:
<comment>Description:</comment>
  Retourne le poids de la connexion
  
  Retourne le poids de la connexion.

<comment>Return:</comment>
  <info>void</info>  Le poids de la connexion.


id: FANNConnection::setWeight
type: function
doc:
<comment>Description:</comment>
  Défini le poids de la connexion
  
  Défini le poids de la connexion.
  
  Cette méthode est différente de la fonction <strong>fann_set_weight()</strong>. Elle ne met pas à jour la valeur du
  poids sur le réseau. La valeur du réseau est mise à jour seulement après l'appel à la fonction
  <strong>fann_set_weight_array()</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$weight</strong>  Le poids de la connexion.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur retournée.


id: FANN_ELLIOT
type: constant
doc:
<comment>Description:</comment>
  Fast (sigmoid like) activation function defined by David Elliott.


id: FANN_ELLIOT_SYMMETRIC
type: constant
doc:
<comment>Description:</comment>
  Fast (symmetric sigmoid like) activation function defined by David Elliott.


id: FANN_ERRORFUNC_TANH
type: constant
doc:
<comment>Description:</comment>
  Tanh error function; usually better but may require a lower learning rate. This error function
  aggressively targets outputs that differ much from the desired, while not targeting outputs that
  only differ slightly. Not recommended for cascade or incremental training.


id: FANN_E_TRAIN_DATA_MISMATCH
type: constant
doc:
<comment>Description:</comment>
  Irreconcilable differences between two struct fann_train_data structures.


id: FANN_STOPFUNC_BIT
type: constant
doc:
<comment>Description:</comment>
  Stop criteria is number of bits that fail.  The number of bits means the number of output neurons
  which differs more than the bit fail limit (see fann_get_bit_fail_limit, fann_set_bit_fail_limit).
  The bits are counted in all of the training data, so this number can be higher than the number of
  training data.


id: FANN_TRAIN_BATCH
type: constant
doc:
<comment>Description:</comment>
  Standard backpropagation algorithm, where the weights are updated after calculating the mean
  square error for the whole training set. This means that the weights are only updated once during
  a epoch. For this reason some problems, will train slower with this algorithm. But since the mean
  square error is calculated more correctly than in incremental training, some problems will reach a
  better solutions with this algorithm.


id: FANN_TRAIN_INCREMENTAL
type: constant
doc:
<comment>Description:</comment>
  Standard backpropagation algorithm, where the weights are updated after each training pattern.
  This means that the weights are updated many times during a single epoch. For this reason some
  problems, will train very fast with this algorithm, while other more advanced problems will not
  train very well.


id: FANN_TRAIN_QUICKPROP
type: constant
doc:
<comment>Description:</comment>
  A more advanced batch training algorithm which achieves good results for many problems. The
  quickprop training algorithm uses the learning_rate parameter along with other more advanced
  parameters, but it is only recommended to change these advanced parameters, for users with insight
  in how the quickprop training algorithm works. The quickprop training algorithm is described by
  [Fahlman, 1988].


id: FANN_TRAIN_RPROP
type: constant
doc:
<comment>Description:</comment>
  A more advanced batch training algorithm which achieves good results for many problems. The RPROP
  training algorithm is adaptive, and does therefore not use the learning_rate. Some other
  parameters can however be set to change the way the RPROP algorithm works, but it is only
  recommended for users with insight in how the RPROP training algorithm works. The RPROP training
  algorithm is described by [Riedmiller and Braun, 1993], but the actual learning algorithm used
  here is the iRPROP- training algorithm which is described by [Igel and Husken, 2000] which is an
  variety of the standard RPROP training algorithm.


id: FFI
type: class
doc:
<comment>Description:</comment>
  Les objets de cette classe sont créés par les méthodes de fabrique FFI::cdef, FFI::load ou
  FFI::scope. Les variables C définies sont disponibles en tant que propriétés de l'instance FFI, et
  les fonctions C définies sont disponibles comme méthodes de l'instance FFI. Les types C déclarés
  peuvent être utilisés pour créer de nouvelles structures de données C en utilisant FFI::new et
  FFI::type.
  
  L'analyse des définitions FFI et le chargement des bibliothèques partagées peuvent prendre
  beaucoup de temps. Il n'est pas utile de le faire à chaque requête HTTP dans un environnement Web.
  Cependant, il est possible de précharger les définitions FFI  et les bibliothèques au démarrage de
  PHP, et d'instancier les objets FFI lorsque c'est nécessaire. Les fichiers d'en-tête peuvent être
  étendus avec des définitions <return>FFI_SCOPE</return> spéciales (par exemple #define FFI_SCOPE "foo"; la portée
  par défaut est "C") et ensuite chargés par FFI::load pendant le préchargement. Cela conduit à la
  création d'une liaison persistante, qui sera disponible pour toutes les requêtes suivantes par
  l'intermédiaire de FFI::scope. Reportez-vous à l'exemple complet PHP/FFI/preloading pour plus de
  détails.
  
  Il est possible de précharger plus d'un fichier d'en-tête C dans la même portée.


id: FFI::addr
type: function
doc:
<comment>Description:</comment>
  Crée un pointeur non géré vers des données C
  
  Crée un pointeur non géré vers les données C représentées par l'élément <class>FFI\CData</class>. La source <strong>$ptr</strong>
  doit survivre au pointeur résultant. Cette fonction est principalement utile pour transmettre des
  arguments à des fonctions C par le biais d'un pointeur.

<comment>Param:</comment>
  <info>FFI\CData</info>  <strong>$ptr</strong>  Le gestionnaire du pointeur vers une structure de données C.

<comment>Return:</comment>
  <info>FFI\CData</info>  Retourne l'objet <class>FFI\CData</class> fraîchement créé.


id: FFI::alignof
type: function
doc:
<comment>Description:</comment>
  Récupère l'alignement
  
  Récupère l'alignement de l'objet <class>FFI\CData</class> ou <class>FFI\CType</class> donné.

<comment>Param:</comment>
  <info>FFI\CData|FFI\CType</info>  <strong>$ptr</strong>  L'identifiant de la donnée ou du type C.

<comment>Return:</comment>
  <info>int</info>  Retourne l'alignement de l'objet <class>FFI\CData</class> ou <class>FFI\CType</class> donné.


id: FFI::arrayType
type: function
doc:
<comment>Description:</comment>
  Construit dynamiquement un nouveau type de tableau C
  
  Construit dynamiquement un nouveau type de tableau C avec des éléments de type défini par <strong>$type</strong>,
  et des dimensions spécifiées par <strong>$dimensions</strong>. Dans l'exemple suivant $t1 et $t2 sont des types de
  tableaux équivalents :
  ]]>

<comment>Param:</comment>
  <info>FFI\CType</info>  <strong>$type</strong>        Une déclaration C valide comme <info>string</info>, ou une instance de <class>FFI\CType</class> qui a
                          déjà été créée.
  <info>array</info>      <strong>$dimensions</strong>  Les dimensions du type comme <info>array</info>.

<comment>Return:</comment>
  <info>FFI\CType</info>  Retourne l'objet <class>FFI\CType</class> fraîchement créé.


id: FFI::cast
type: function
doc:
<comment>Description:</comment>
  Effectue une conversion de type C
  
  FFI::cast crée un nouvel objet <class>FFI\CData</class> qui fait référence à la même structure de données C, mais
  qui est associée à un type différent. L'objet résultant ne possède pas les données C et la source
  <strong>$ptr</strong> doit survivre au résultat. Le type C peut être spécifié en tant que <info>string</info> avec n'importe
  quelle déclaration de type C valide ou en tant qu'objet <class>FFI\CType</class>, créé auparavant. Si cette
  méthode est appelée de manière statique, elle ne doit utiliser que des noms de types C prédéfinis
  (par ex. <return>int</return>, <return>char</return>, etc.); si la méthode est appelée en tant  que méthode d'instance, tout type
  déclaré pour l'instance est autorisé.

<comment>Param:</comment>
  <info>FFI\CType|string</info>               <strong>$type</strong>  Une déclaration C valide comme <info>string</info>, ou une instance de
                                        <class>FFI\CType</class> qui a déjà été créée.
  <info>FFI\CData|int|float|bool|null</info>  <strong>$ptr</strong>   Le gestionnaire du pointeur d'une structure de données C.

<comment>Return:</comment>
  <info>FFI\CData|null</info>  Retourne l'objet <class>FFI\CData</class> fraîchement créé.


id: FFI::cdef
type: function
doc:
<comment>Description:</comment>
  Crée un nouvel objet FFI
  
  Crée un nouvel objet FFI.

<comment>Param:</comment>
  <info>string</info>       <strong>$code</strong>  Une chaîne de caractères contenant une séquence de déclarations en langage C
                      ordinaire (types, structures, fonctions, variables, etc). En fait, cette
                      chaîne peut être copiée-collée à partir de fichiers d'en-tête C.
                      
                      Les directives du préprocesseur C ne sont pas prises en charge, c'est-à-dire
                      #include,  #define et les macros CPP ne fonctionnent pas.
  <info>string|null</info>  <strong>$lib</strong>   Le nom d'un fichier de bibliothèque partagée, à charger et à lier avec les
                      définitions.
                      
                      Si <strong>$lib</strong> est omis ou <info>null</info>, les plates-formes supportant <return>RTLD_DEFAULT</return> tentent de
                      rechercher les symboles déclarés dans <strong>$code</strong> dans la portée globale. Les autres
                      systèmes ne parviendront pas à résoudre ces symboles.

<comment>Return:</comment>
  <info>FFI</info>  Retourne l'objet <class>FFI</class> fraîchement créé.


id: FFI::free
type: function
doc:
<comment>Description:</comment>
  Libère une structure de données non gérée
  
  Libère manuellement une structure de données non gérée créée précédemment.

<comment>Param:</comment>
  <info>FFI\CData</info>  <strong>$ptr</strong>  Le gestionnaire du pointeur non géré d'une structure de données C.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: FFI::isNull
type: function
doc:
<comment>Description:</comment>
  Vérifie si un objet FFI\CData est un pointeur null
  
  Vérifie si un objet FFI\CData est un pointeur null.

<comment>Param:</comment>
  <info>FFI\CData</info>  <strong>$ptr</strong>  Le gestionnaire du pointeur vers une structure de données C.

<comment>Return:</comment>
  <info>bool</info>  Retourne si un objet <class>FFI\CData</class> est un pointeur null.


id: FFI::load
type: function
doc:
<comment>Description:</comment>
  Charge les déclarations C à partir d'un fichier d'en-tête C
  
  Charge les déclarations C à partir d'un fichier d'en-tête C. Il est possible de spécifier les
  bibliothèques partagées qui doivent être chargées, en utilisant des définitions spéciales <return>FFI_LIB</return>
  dans le fichier d'en-tête C chargé.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Le nom d'un fichier d'en-tête C.
                     
                     Les directives du préprocesseur C ne sont pas supportées, c'est-à-dire
                     <return>#include</return>, <return>#define</return> et les macros CPP ne fonctionnent pas, sauf dans les cas
                     particuliers énumérés ci-dessous.
                     
                     Le fichier d'en-tête devrait contenir une déclaration <return>#define</return> pour la variable
                     <return>FFI_SCOPE</return>, par exemple : #define FFI_SCOPE "MYLIB". Reportez-vous à
                     l'introduction de la classe pour plus de détails.
                     
                     Le fichier d'en-tête peut contenir une déclaration <return>#define</return> pour la variable
                     <return>FFI_LIB</return> pour spécifier la bibliothèque qu'elle expose. S'il s'agit d'une
                     bibliothèque système, seul le nom du fichier est requis, par exemple : #define
                     FFI_LIB "libc.so.6".  S'il s'agit d'une bibliothèque personnalisée, un chemin
                     relatif est requis, par exemple : #define FFI_LIB "./mylib.so".

<comment>Return:</comment>
  <info>FFI|null</info>  Retourne l'objet <class>FFI</class> fraîchement créé, ou <info>null</info> en cas d'échec.

<comment>See Also:</comment>
   * FFI::scope


id: FFI::memcmp
type: function
doc:
<comment>Description:</comment>
  Comparaison des zones de mémoire
  
  Compare les <strong>$size</strong> octets provenant des zones de mémoire <strong>$ptr1</strong> et <strong>$ptr2</strong>. <strong>$ptr1</strong> et <strong>$ptr2</strong> peuvent
  être des structures de données natives (<class>FFI\CData</class>) ou <info>string</info>s PHP.

<comment>Param:</comment>
  <info>string|FFI\CData</info>  <strong>$ptr1</strong>  Début d'une zone de mémoire.
  <info>string|FFI\CData</info>  <strong>$ptr2</strong>  Le début d'une autre zone de mémoire.
  <info>int</info>               <strong>$size</strong>  Le nombre d'octets à comparer.

<comment>Return:</comment>
  <info>int</info>  Retourne une valeur inférieure à <return>0</return> si le contenu de la zone de mémoire commençant à <strong>$ptr1</strong> est
       considéré comme inférieur au contenu de la zone de mémoire commençant à <strong>$ptr2</strong>, une valeur
       supérieure à <return>0</return> si le contenu de la première zone de mémoire est considéré comme supérieur à
       celui de la seconde, et <return>0</return> s'ils sont égaux.


id: FFI::memcpy
type: function
doc:
<comment>Description:</comment>
  Copie d'une zone de mémoire dans une autre
  
  Copie <strong>$size</strong> octets de la zone de mémoire <strong>$from</strong> vers la zone de mémoire <strong>$to</strong>.

<comment>Param:</comment>
  <info>FFI\CData</info>         <strong>$to</strong>    Début de la zone de mémoire à copier.
  <info>FFI\CData|string</info>  <strong>$from</strong>  Le début de la zone de mémoire où la copie doit être effectuée.
  <info>int</info>               <strong>$size</strong>  Le nombre d'octets à copier.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: FFI::memset
type: function
doc:
<comment>Description:</comment>
  Remplit une zone de mémoire
  
  Remplit <strong>$size</strong> octets de la zone de mémoire pointée par <strong>$ptr</strong> avec l'octet donné <strong>$value</strong>.

<comment>Param:</comment>
  <info>FFI\CData</info>  <strong>$ptr</strong>    Début de la zone de mémoire à remplir.
  <info>int</info>        <strong>$value</strong>  L'octet à remplir.
  <info>int</info>        <strong>$size</strong>   Le nombre d'octets à remplir.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: FFI::new
type: function
doc:
<comment>Description:</comment>
  Crée une structure de données C
  
  Crée une structure de données native du type C donné. Si cette méthode est appelée de manière
  statique, elle ne doit utiliser que des noms de types C prédéfinis (par ex. <return>int</return>, <return>char</return>, etc.) ; si
  la méthode est appelée en tant que méthode d'instance, tout type déclaré pour l'instance est
  autorisé.

<comment>Param:</comment>
  <info>FFI\CType|string</info>  <strong>$type</strong>        <strong>$type</strong> est une déclaration C valide comme <info>string</info>, ou une instance de
                                 <class>FFI\CType</class> qui a déjà été créée.
  <info>bool</info>              <strong>$owned</strong>       Création de données gérées ou non gérées. Les données gérées vivent
                                 avec l'objet <class>FFI\CData</class> retourné, et sont libérées lorsque la
                                 dernière référence à cet objet est libérée par le comptage de
                                 références ordinaire de PHP ou le ramasse-miette. Les données non
                                 gérées doivent être libérées en appelant FFI::free, lorsqu'elles ne
                                 sont plus nécessaires.
  <info>bool</info>              <strong>$persistent</strong>  Allouer la structure de données C de manière permanente sur le tas
                                 du système (en utilisant  <strong>malloc()</strong>), ou sur le tas des requêtes PHP
                                 (en utilisant <strong>emalloc()</strong>).

<comment>Return:</comment>
  <info>FFI\CData|null</info>  Retourne l'objet <class>FFI\CData</class> fraîchement créé, ou <info>null</info> en cas d'échec.


id: FFI::scope
type: function
doc:
<comment>Description:</comment>
  Instancie un objet FFI avec les déclarations C analysées lors du préchargement
  
  Instancie un objet FFI avec les déclarations C analysées lors du préchargement.
  
  La méthode FFI::scope peut être appelée plusieurs fois pour la même portée. Plusieurs références à
  la même portée peuvent être chargées en même temps.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  Le nom de la portée défini par une définition <return>FFI_SCOPE</return> spéciale.

<comment>Return:</comment>
  <info>FFI</info>  Retourne l'objet <class>FFI</class> fraîchement créé.

<comment>See Also:</comment>
   * FFI::load


id: FFI::sizeof
type: function
doc:
<comment>Description:</comment>
  Récupère la taille des données ou des types C
  
  Retourne la taille de l'objet <class>FFI\CData</class> ou <class>FFI\CType</class> objet.

<comment>Param:</comment>
  <info>FFI\CData|FFI\CType</info>  <strong>$ptr</strong>  Le gestionnaire de la donnée ou du type C.

<comment>Return:</comment>
  <info>int</info>  Taille de la zone de mémoire pointée par <strong>$ptr</strong>.


id: FFI::string
type: function
doc:
<comment>Description:</comment>
  Crée une chaîne PHP à partir d'une zone de mémoire
  
  Crée une <info>string</info> PHP à partir de <strong>$size</strong> octets de la zone mémoire pointée par <strong>$ptr</strong>.

<comment>Param:</comment>
  <info>FFI\CData</info>  <strong>$ptr</strong>   Le début de la zone de mémoire à partir de laquelle créer une <info>string</info>.
  <info>int|null</info>   <strong>$size</strong>  Le nombre d'octets à copier dans <info>string</info>. Si <strong>$size</strong> est omis ou <info>null</info>, <strong>$ptr</strong> doit
                    être un tableau de caractères C de <return>char</return> C à terminaison nulle.

<comment>Return:</comment>
  <info>string</info>  La  <info>string</info> PHP fraîchement créé.


id: FFI::type
type: function
doc:
<comment>Description:</comment>
  Crée un objet FFI\CType à partir d'une déclaration C
  
  Cette fonction crée et retourne un objet <class>FFI\CType</class> pour la <info>string</info> donnée contenant une déclaration
  de type C. Si cette méthode est appelée de manière statique, elle ne doit utiliser que des noms de
  types C prédéfinis (par ex. <return>int</return>, <return>char</return>, etc.) ; si la méthode est appelée en tant que méthode
  d'instance, tout type déclaré pour l'instance est autorisé.

<comment>Param:</comment>
  <info>string</info>  <strong>$type</strong>  Une déclaration C valide comme <info>string</info>.

<comment>Return:</comment>
  <info>FFI\CType|null</info>  Retourne l'objet <class>FFI\CType</class> fraîchement créé, ou <info>null</info> en cas d'échec.


id: FFI::typeof
type: function
doc:
<comment>Description:</comment>
  Récupère le FFI\CType de FFI\CData
  
  Récupère l'objet <class>FFI\CType</class> représentant le type de l'objet <class>FFI\CData</class> donné.

<comment>Param:</comment>
  <info>FFI\CData</info>  <strong>$ptr</strong>  Le gestionnaire du pointeur vers une structure de données C.

<comment>Return:</comment>
  <info>FFI\CType</info>  Retourne l'objet <class>FFI\CType</class> représentant le type de l'objet <class>FFI\CData</class> donné.


id: FFI\CData
type: class
doc:
<comment>Description:</comment>
  Les objets <class>FFI\CData</class> peuvent être utilisés de différentes manières, comme des
   données PHP normale :  Les données C de type scalaire peuvent être lues et assignées via la
  propriété $cdata, par exemple. $x = FFI::new('int'); $x-&gt;cdata = 42;  Les champs de type struct
  et union peuvent être accédés comme des propriétés d'objets PHP ordinaires, par exemple
  $cdata-&gt;field  Les éléments d'un tableau C sont accessibles comme les éléments d'un tableau
  PHP, par exemple. $cdata[$offset]  Les tableaux C peuvent être itérés en utilisant des
  instructions foreach.  Les tableaux C peuvent être utilisés comme arguments de <strong>count()</strong>.  Les
  pointeurs C peuvent être déréférencés comme des tableaux, par exemple $cdata[0]  Les pointeurs C
  peuvent être comparés à l'aide d'opérateurs de comparaison ordinaires (\<, \<=, ==, !=, &gt;=, &gt;).  Les pointeurs C peuvent être incrémentés et décrémentés à l'aide des opérations ordinaires ( +/-/ / ). ++/–-, par exemple $cdata += 5  Les pointeurs C peuvent être soustraits d'un autre à l'aide d'opérations ordinaires -.  Les pointeurs C vers des fonctions peuvent être appelés comme une fermeture PHP classique, par exemple $cdata()  Toute donnée C peut être dupliquée en utilisant l'opérateur clone, par exemple $cdata2 = clone $cdata;  Toutes les données C peuvent être visualisées à l'aide de <strong>var_dump()</strong>, <strong>print_r()</strong>, etc.   Les limitations notables sont que les instances de <class>FFI\CData</class> ne supportent pas les fonctions <strong>isset()</strong>, <strong>empty()</strong> et <strong>unset()</strong>, et que les structs et unions C enveloppés n'implémentent pas Traversable.
  
  Les données C de type scalaire peuvent être lues et assignées via la propriété $cdata, par
  exemple. $x = FFI::new('int'); $x-&gt;cdata = 42;
  
  Les champs de type struct et union peuvent être accédés comme des propriétés d'objets PHP
  ordinaires, par exemple $cdata-&gt;field
  
  Les éléments d'un tableau C sont accessibles comme les éléments d'un tableau PHP, par exemple.
  $cdata[$offset]
  
  Les tableaux C peuvent être itérés en utilisant des instructions foreach.
  
  Les tableaux C peuvent être utilisés comme arguments de <strong>count()</strong>.
  
  Les pointeurs C peuvent être déréférencés comme des tableaux, par exemple $cdata[0]
  
  Les pointeurs C peuvent être comparés à l'aide d'opérateurs de comparaison ordinaires (\<, \<=, ==, !=, &gt;=, &gt;).
  
  Les pointeurs C peuvent être incrémentés et décrémentés à l'aide des opérations ordinaires ( +/-/
  / ). ++/–-, par exemple $cdata += 5
  
  Les pointeurs C peuvent être soustraits d'un autre à l'aide d'opérations ordinaires -.
  
  Les pointeurs C vers des fonctions peuvent être appelés comme une fermeture PHP classique, par
  exemple $cdata()
  
  Toute donnée C peut être dupliquée en utilisant l'opérateur clone, par exemple $cdata2 = clone
  $cdata;
  
  Toutes les données C peuvent être visualisées à l'aide de <strong>var_dump()</strong>, <strong>print_r()</strong>, etc.
  
  Les limitations notables sont que les instances de <class>FFI\CData</class> ne supportent pas les fonctions
  <strong>isset()</strong>, <strong>empty()</strong> et <strong>unset()</strong>, et que les structs et unions C enveloppés n'implémentent pas
  Traversable.


id: FFI\CType::getAlignment
type: function
doc:
<comment>Description:</comment>
  Description
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Return:</comment>
  <info>int</info>  


id: FFI\CType::getArrayElementType
type: function
doc:
<comment>Description:</comment>
  Description
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Return:</comment>
  <info>FFI\CType</info>  


id: FFI\CType::getFuncParameterType
type: function
doc:
<comment>Description:</comment>
  Description
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>  

<comment>Return:</comment>
  <info>FFI\CType</info>  


id: FFI\CType::getName
type: function
doc:
<comment>Description:</comment>
  Description
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

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


id: FFI\CType::getStructFieldNames
type: function
doc:
<comment>Description:</comment>
  Description
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

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


id: FFI\CType::getStructFieldOffset
type: function
doc:
<comment>Description:</comment>
  Description
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

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

<comment>Return:</comment>
  <info>int</info>  


id: FFI\CType::getStructFieldType
type: function
doc:
<comment>Description:</comment>
  Description
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

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

<comment>Return:</comment>
  <info>FFI\CType</info>  


id: FILEINFO_COMPRESS
type: constant
doc:
<comment>Description:</comment>
  Décompresse les fichiers compressés.
  
  Désactivé en raison des conséquences sur la sécurité des threads.


id: FILEINFO_DEVICES
type: constant
doc:
<comment>Description:</comment>
  Regarde les contenus des blocs ou les dispositifs spéciaux de caractères.


id: FILEINFO_EXTENSION
type: constant
doc:
<comment>Description:</comment>
  Retourne l'extension de fichier approprié pour un type MIME détecté  dans le fichier.
  
  Pour les types qui ont généralement plusieurs extensions de fichier, telles  que les images <return>JPEG</return>,
  la valeur de retour est plusieurs  extensions séparées par une barre oblique, par exemple :
  <return>"jpeg/jpg/jpe/jfif"</return>. Pour les types inconnus non  disponibles dans la base de données magic.mime,
  la  valeur de retour est <return>"???"</return>.
  
  Disponible à partir de PHP 7.2.0.


id: FILEINFO_MIME
type: constant
doc:
<comment>Description:</comment>
  Retourne le type mime et l'encodage mime, tel que décrit par la RFC 2045.


id: FILEINFO_RAW
type: constant
doc:
<comment>Description:</comment>
  Ne traduit pas les caractères non imprimables en représentation octale <return>\ooo</return>.


id: FILE_BINARY
type: constant
doc:
<comment>Description:</comment>
  Mode binaire.  Cette constante n'a aucun effet et n'est présente que pour assurer une
  compatibilité ascendante.
  
  Cette constante n'a aucun effet et n'est présente que pour assurer une compatibilité ascendante.


id: FILE_TEXT
type: constant
doc:
<comment>Description:</comment>
  Mode texte.  Cette constante n'a aucun effet et n'est présente que pour assurer une compatibilité
  ascendante.
  
  Cette constante n'a aucun effet et n'est présente que pour assurer une compatibilité ascendante.


id: FILTER_DEFAULT
type: constant
doc:
<comment>Description:</comment>
  ID du filtre par défaut ("unsafe_raw"). Ceci est équivalent à la constante  <info>FILTER_UNSAFE_RAW</info>.


id: FILTER_FLAG_ALLOW_HEX
type: constant
doc:
<comment>Description:</comment>
  Alloue une notation hexadécimale (<return>0x[0-9a-fA-F]+</return>) dans le filtre "int".


id: FILTER_FLAG_ALLOW_OCTAL
type: constant
doc:
<comment>Description:</comment>
  Alloue une notation octale (<return>0[0-7]+</return>) dans le filtre "int".


id: FILTER_FLAG_ALLOW_SCIENTIFIC
type: constant
doc:
<comment>Description:</comment>
  Alloue une notation scientifique (<return>e</return>, <return>E</return>) dans le filtre "number_float".


id: FILTER_FLAG_ALLOW_THOUSAND
type: constant
doc:
<comment>Description:</comment>
  Alloue le séparateur des milliers (<return>,</return>) dans le filtre "number_float".


id: FILTER_FLAG_EMAIL_UNICODE
type: constant
doc:
<comment>Description:</comment>
  Accepte des caractères Unicode dans la partie locale du filtre "validate_email". (Disponible à
  partir PHP 7.1.0)


id: FILTER_FLAG_ENCODE_HIGH
type: constant
doc:
<comment>Description:</comment>
  Encode les caractères dont les valeurs ASCII sont supérieures à 127.


id: FILTER_FLAG_ENCODE_LOW
type: constant
doc:
<comment>Description:</comment>
  Encode les caractères dont les valeurs ASCII sont inférieures à 32.


id: FILTER_FLAG_HOSTNAME
type: constant
doc:
<comment>Description:</comment>
  Demande à ce que les noms d'hôtes commencent avec un caractère alphanumérique et contiennent que
  les caractères alphanumériques ou des traits d'union (Disponible à partir PHP 7.0.0)


id: FILTER_FLAG_HOST_REQUIRED
type: constant
doc:
<comment>Description:</comment>
  Requière un hôte dans le filtre "validate_url". (Obsolète à partir de PHP 7.3.0 et supprimé à
  partir de PHP 8.0.0, car déjà présent dans le filtre)


id: FILTER_FLAG_NO_PRIV_RANGE
type: constant
doc:
<comment>Description:</comment>
  N'autorise pas les adresses privées dans le filtre "validate_ip".


id: FILTER_FLAG_NO_RES_RANGE
type: constant
doc:
<comment>Description:</comment>
  N'autorise pas les adresses réservées dans le filtre "validate_ip".


id: FILTER_FLAG_SCHEME_REQUIRED
type: constant
doc:
<comment>Description:</comment>
  Requière un schéma dans le filtre "validate_url". (Obsolète à partir de PHP 7.3.0 et supprimé à
  partir de PHP 8.0.0, car déjà présent dans le filtre)


id: FILTER_FLAG_STRIP_HIGH
type: constant
doc:
<comment>Description:</comment>
  Supprime les caractères dont les valeurs ASCII sont supérieures à 127.


id: FILTER_FLAG_STRIP_LOW
type: constant
doc:
<comment>Description:</comment>
  Supprime les caractères dont les valeurs ASCII sont inférieures à 32.


id: FILTER_NULL_ON_FAILURE
type: constant
doc:
<comment>Description:</comment>
  Utilisation de <info>null</info> au lieu de <info>false</info> si une erreur survient.


id: FILTER_SANITIZE_MAGIC_QUOTES
type: constant
doc:
<comment>Description:</comment>
  ID du filtre "magic_quotes". (OBSOLÈte à partir de PHP 7.3.0 et SUPPRIMÉE à partir de PHP 8.0.0,
  utiliser <info>FILTER_SANITIZE_ADD_SLASHES</info> à la place.)


id: FILTER_SANITIZE_STRING
type: constant
doc:
<comment>Description:</comment>
  ID du filtre "string". (Obsolète à partir de PHP 8.1.0, utilisez <strong>htmlspecialchars()</strong> à la place)


id: FILTER_SANITIZE_STRIPPED
type: constant
doc:
<comment>Description:</comment>
  ID du filtre "stripped". (Obsolète à partir de PHP 8.1.0, utilisez <strong>htmlspecialchars()</strong> à la place)


id: FNM_PATHNAME
type: constant
doc:
<comment>Description:</comment>
  Un slash dans la chaîne ne correspond qu'au slash final du motif.


id: FNM_PERIOD
type: constant
doc:
<comment>Description:</comment>
  Le point initial dans la chaîne doit correspondre exactement au point dans le motif.


id: FTP\Connection
type: class
doc:
<comment>Description:</comment>
  Une classe complètement opaque qui remplace la ressource <return>ftp</return> à partir de PHP 8.1.0.


id: FTP_AUTORESUME
type: constant
doc:
<comment>Description:</comment>
  Déterminer automatiquement la position de reprise et la position de départ pour les requêtes GET
  et PUT (ne fonctionne que si FTP_AUTOSEEK est activé)


id: FT_INTERNAL
type: constant
doc:
<comment>Description:</comment>
  La chaîne renvoyée est au format interne, et ne va pas canoniser les CRLF.


id: FT_PEEK
type: constant
doc:
<comment>Description:</comment>
  Ne pas lever le drapeau \Seen (Message lu) s'il n'est pas déjà levé.


id: Fiber
type: class
doc:
<comment>Description:</comment>
  Les fibres représentent des fonctions interruptibles sur toute la pile. Les fibres peuvent être
  suspendues à n'importe quel endroit de la pile d'appels, en interrompant l'exécution à l'intérieur
  de la fibre jusqu'à ce que la fibre soit reprise ultérieurement.


id: Fiber::__construct
type: function
doc:
<comment>Description:</comment>
  Crée une nouvelle instance de Fibre

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Le <info>callable</info> à invoquer lors du démarrage de la fibre. Les arguments donnés à
                       Fiber::start seront fournis en tant qu'arguments à la fonction donnée.


id: Fiber::getCurrent
type: function
doc:
<comment>Description:</comment>
  Obtient l'instance de Fibre en cours d'exécution

<comment>Return:</comment>
  <info>Fiber|null</info>  Retourne l'instance <class>Fiber</class> en cours d'exécution ou <info>null</info> si cette méthode est appelée à
              partir de l'extérieur d'une fibre.


id: Fiber::getReturn
type: function
doc:
<comment>Description:</comment>
  Obtient la valeur retournée par la fibre

<comment>Return:</comment>
  <info>mixed</info>  Renvoie la valeur retournée par la fibre <info>callable</info> fournie à Fiber::__construct. Si la fibre
         n'a pas retourné de valeur, soit parce qu'elle n'a pas été lancée, soit parce qu'elle ne
         s'est pas terminée, soit parce qu'elle a lancé une exception, une <class>FiberError</class> sera émise.


id: Fiber::isRunning
type: function
doc:
<comment>Description:</comment>
  Détermine si la fibre est en cours d'exécution

<comment>Return:</comment>
  <info>bool</info>  Retourne <info>true</info> seulement si la fibre est en cours d'exécution. Une fibre est considérée comme
        étant en cours d'exécution après un appel à Fiber::start, Fiber::resume, ou Fiber::throw qui
        n'est pas encore retourné. Retourne <info>false</info> si la fibre n'est pas en cours d'exécution.


id: Fiber::isStarted
type: function
doc:
<comment>Description:</comment>
  Détermine si la fibre a démarrée

<comment>Return:</comment>
  <info>bool</info>  Retourne <info>true</info> seulement après que la fibre ait été démarrée ; sinon <info>false</info> est retourné.


id: Fiber::isSuspended
type: function
doc:
<comment>Description:</comment>
  Détermine si la fibre est suspendue

<comment>Return:</comment>
  <info>bool</info>  Retourne <info>true</info> si la fibre est actuellement suspendue ; sinon <info>false</info> est retourné.


id: Fiber::isTerminated
type: function
doc:
<comment>Description:</comment>
  Détermine si la fibre est terminée

<comment>Return:</comment>
  <info>bool</info>  Retourne <info>true</info> seulement après que la fibre se soit terminée, soit en retournant, soit en
        lançant une exception ; sinon, <info>false</info> est retourné.


id: Fiber::resume
type: function
doc:
<comment>Description:</comment>
  Reprend l'exécution de la fibre avec une valeur
  
  Reprend la fibre en utilisant la valeur donnée comme résultat de l'appel actuel à Fiber::suspend.
  
  Si la fibre n'est pas suspendue lors de l'appel de cette méthode, une <class>FiberError</class> sera émise.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  La valeur pour reprendre la fibre. Cette valeur sera la valeur de retour de l'appel
                 Fiber::suspend en cours.

<comment>Return:</comment>
  <info>mixed</info>  La valeur fournie au prochain appel à Fiber::suspend ou <info>null</info> si la fibre retourne. Si la
         fibre lance une exception avant de se suspendre, elle sera émise lors de l'appel à cette
         méthode.


id: Fiber::start
type: function
doc:
<comment>Description:</comment>
  Démarre l'exécution de la fibre
  
  Une liste variadique d'arguments à fournir à la fonction utilisée lors de la construction de la
  fibre.
  
  Si la fibre a déjà été démarrée lorsque cette méthode est appelée, une erreur <class>FiberError</class> sera
  émise.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$args</strong>  Les arguments à utiliser lors de l'invocation de la fonction donnée au constructeur
                de la fibre.

<comment>Return:</comment>
  <info>mixed</info>  La valeur fournie au premier appel à Fiber::suspend ou <info>null</info> si la fibre retourne. Si la
         fibre lance une exception avant de se suspendre, elle sera émise lors de l'appel à cette
         méthode.


id: Fiber::suspend
type: function
doc:
<comment>Description:</comment>
  Suspend l'exécution de la fibre en cours
  
  Suspend l'exécution de la fibre en cours. La valeur fournie à cette méthode sera retournée par
  l'appel à Fiber::start, Fiber::resume, ou Fiber::throw qui a fait basculer l'exécution dans la
  fibre en cours.
  
  Lorsque la fibre est reprise, cette méthode retourne la valeur fournie à Fiber::resume. Si la
  fibre est reprise en utilisant Fiber::throw, l'exception donnée à cette méthode sera émise lors de
  l'appel à cette méthode.
  
  Si cette méthode est appelée depuis l'extérieur d'une fibre, une <class>FiberError</class> sera émise.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  La valeur à retourner de l'appel à Fiber::start, Fiber::resume, ou Fiber::throw qui
                 a fait basculer l'exécution dans la fibre actuelle.

<comment>Return:</comment>
  <info>mixed</info>  La valeur fournie à Fiber::resume.


id: Fiber::throw
type: function
doc:
<comment>Description:</comment>
  Reprend l'exécution de la fibre avec une exception
  
  Reprend la fibre en lançant l'exception donnée à partir de l'appel Fiber::suspend en cours.
  
  Si la fibre n'est pas suspendue lorsque cette méthode est appelée, une exception <class>FiberError</class> sera
  émise.

<comment>Param:</comment>
  <info>Throwable</info>  <strong>$exception</strong>  L'exception à lancer dans la fibre à partir de l'appel Fiber::suspend en
                         cours.

<comment>Return:</comment>
  <info>mixed</info>  La valeur fournie au prochain appel à Fiber::suspend ou <info>null</info> si la fibre retourne. Si la
         fibre lance une exception avant de se suspendre, elle sera émise lors de l'appel à cette
         méthode.


id: FilesystemIterator::CURRENT_AS_FILEINFO
type: constant
doc:
<comment>Description:</comment>
  FilesystemIterator::current retourne un objet <class>SplFileInfo</class>.


id: FilesystemIterator::CURRENT_AS_SELF
type: constant
doc:
<comment>Description:</comment>
  FilesystemIterator::current retourne <return>$this</return> (le <class>FilesystemIterator</class>).


id: FilesystemIterator::NEW_CURRENT_AND_KEY
type: constant
doc:
<comment>Description:</comment>
  Identique à <return>FilesystemIterator::KEY_AS_FILENAME |  FilesystemIterator::CURRENT_AS_FILEINFO</return>.


id: FilesystemIterator::OTHER_MODE_MASK
type: constant
doc:
<comment>Description:</comment>
  Masque utilisé pour FilesystemIterator::getFlags et FilesystemIterator::setFlags.


id: FilesystemIterator::SKIP_DOTS
type: constant
doc:
<comment>Description:</comment>
  Ignore les fichiers points  (<return>.</return> et <return>..</return>).


id: FilesystemIterator::UNIX_PATHS
type: constant
doc:
<comment>Description:</comment>
  Les chemins utilisent le séparateur de dossier de type Unix, soit le slash, indépendamment du
  système de fonctionnement.  Notez que le <strong>$chemin</strong> qui est passé au constructeur  n'est pas modifié.


id: FilesystemIterator::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un objet FilesystemIterator
  
  Construit un objet FilesystemIterator, configuré avec le chemin <strong>$directory</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$directory</strong>  Le chemin du dossier dans lequel on va travailler.
  <info>int</info>     <strong>$flags</strong>      Les options qui affectent le comportement des méthodes. La liste des options
                      est disponible dans  les constantes de <class>FilesystemIterator</class>.  Elles peuvent
                      aussi être activées ultérieurement avec  FilesystemIterator::setFlags.

<comment>See Also:</comment>
   * FilesystemIterator::setFlags
   * DirectoryIterator::__construct


id: FilesystemIterator::current
type: function
doc:
<comment>Description:</comment>
  Lit le fichier courant
  
  Lit les informations sur le fichier courant.

<comment>Return:</comment>
  <info>string|SplFileInfo|FilesystemIterator</info>  Le nom du fichier, les informations du fichier, ou bien
                                         <return>$this</return>, en fonction des options utilisées. Voyez la liste
                                         des constantes <class>FilesystemIterator</class>.

<comment>See Also:</comment>
   * Les constantes FilesystemIterator
   * DirectoryIterator::current
   * DirectoryIterator::getFileName


id: FilesystemIterator::getFlags
type: function
doc:
<comment>Description:</comment>
  Lit les options activées
  
  Lit les options activées, telles qu'elles ont été  configurées avec
  FilesystemIterator::__construct ou FilesystemIterator::setFlags.

<comment>Return:</comment>
  <info>int</info>  La valeur des options configurées.

<comment>See Also:</comment>
   * FilesystemIterator::__construct
   * FilesystemIterator::setFlags


id: FilesystemIterator::key
type: function
doc:
<comment>Description:</comment>
  Lit le nom du fichier

<comment>Return:</comment>
  <info>string</info>  Retourne le chemin ou le nom du fichier, suivant les options activées. Voyez les
          Constantes de <class>FilesystemIterator</class>.

<comment>See Also:</comment>
   * Constantes de <class>FilesystemIterator</class>
   * DirectoryIterator::key
   * DirectoryIterator::getFilename
   * DirectoryIterator::getPathname


id: FilesystemIterator::next
type: function
doc:
<comment>Description:</comment>
  Passe au fichier suivant
  
  Passe au fichier suivant.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * DirectoryIterator::next


id: FilesystemIterator::rewind
type: function
doc:
<comment>Description:</comment>
  Recommence à lire le dossier
  
  Recommence à lire le dossier à zéro.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * DirectoryIterator::rewind


id: FilesystemIterator::setFlags
type: function
doc:
<comment>Description:</comment>
  Configure les options
  
  Configure les options.

<comment>Param:</comment>
  <info>int</info>  <strong>$flags</strong>  Les options à configurer. Voir la liste des constantes de <class>FilesystemIterator</class>.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * FilesystemIterator::__construct
   * FilesystemIterator::getFlags


id: FilterIterator
type: class
doc:
<comment>Description:</comment>
  Cet itérateur abstrait filtre les valeurs indésirables. Cette classe doit être étendue pour
  implémenter des opérateurs personnalisés. La  méthode FilterIterator::accept doit être implémentée
  dans la sous-classe.


id: FilterIterator::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un filterIterator
  
  Construit un nouveau <class>FilterIterator</class>, qui consiste à passer le paramètre <strong>$iterator</strong> après y avoir
  appliqué les filtres.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>Iterator</info>  <strong>$iterator</strong>  L'itérateur à filtrer.

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


id: FilterIterator::accept
type: function
doc:
<comment>Description:</comment>
  Vérifie si l'élément courant de l'itérateur est acceptable
  
  Vérifie si l'élément courant est acceptable par le filtre courant.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> si l'élément courant est acceptable, et sinon <info>false</info>.


id: FilterIterator::current
type: function
doc:
<comment>Description:</comment>
  Récupère la valeur de l'élément courant
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.
  
  Récupère la valeur de l'élément courant.

<comment>Return:</comment>
  <info>mixed</info>  La valeur de l'élément courant.

<comment>See Also:</comment>
   * <strong>FilterIterator::key()</strong>
   * <strong>FilterIterator::next()</strong>


id: FilterIterator::key
type: function
doc:
<comment>Description:</comment>
  Récupère la clé courante
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.
  
  Récupère la clé courante.

<comment>Return:</comment>
  <info>mixed</info>  La clé courante.

<comment>See Also:</comment>
   * <strong>FilterIterator::next()</strong>
   * <strong>FilterIterator::current()</strong>


id: FilterIterator::next
type: function
doc:
<comment>Description:</comment>
  Déplace l'itérateur à la position suivante
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.
  
  Déplace l'itérateur à la position suivante.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * <strong>FilterIterator::current()</strong>
   * <strong>FilterIterator::key()</strong>


id: FilterIterator::rewind
type: function
doc:
<comment>Description:</comment>
  Replace l'itérateur au début
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.
  
  Replace l'itérateur au début.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * <strong>FilterIterator::current()</strong>
   * <strong>FilterIterator::key()</strong>
   * <strong>FilterIterator::next()</strong>


id: FilterIterator::valid
type: function
doc:
<comment>Description:</comment>
  Vérifie si l'élément courant est valide
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.
  
  Vérifie si l'élément courant est valide.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> si l'élément courant est valide, <info>false</info> sinon.


id: GD_BUNDLED
type: constant
doc:
<comment>Description:</comment>
  Lorsque la version interne de GD est utilisée, cette constante vaut 1, sinon, elle vaut 0.


id: GEARMAN_CLIENT_FREE_TASKS
type: constant
doc:
<comment>Description:</comment>
  Libère automatiquement les objets des tâches une fois celles-ci effectées. C'est le paramétrage
  par  défaut de cette extension pour éviter les fuites de mémoire.


id: GEARMAN_CLIENT_UNBUFFERED_RESULT
type: constant
doc:
<comment>Description:</comment>
  Permet au client de lire les données par paquets plutôt que ce soit la bibliothèque qui mette en
  tampon les données et les transmette.


id: GEARMAN_ECHO_DATA_CORRUPTION
type: constant
doc:
<comment>Description:</comment>
  Après GearmanClient::echo ou GearmanWorker::echo, les données retournées ne correspondent pas aux
  données envoyées.


id: GEARMAN_ERRNO
type: constant
doc:
<comment>Description:</comment>
  Une erreur système. Cherchez dans GearmanClient::errno ou GearmanWorker::errno le code d'erreur
  système qui a été retourné.


id: GEARMAN_INVALID_FUNCTION_NAME
type: constant
doc:
<comment>Description:</comment>
  Tentative de référencement d'une fonction avec un nom NULL ou utilisation de l'interface de rappel
  sans spécifier les rappels.


id: GEARMAN_INVALID_WORKER_FUNCTION
type: constant
doc:
<comment>Description:</comment>
  Tentative de référencement d'une fonction avec une fonction de rappel NULL.


id: GEARMAN_IO_WAIT
type: constant
doc:
<comment>Description:</comment>
  En mode non-bloquant, un événement qui aurait été bloquant a été atteint.


id: GEARMAN_NEED_WORKLOAD_FN
type: constant
doc:
<comment>Description:</comment>
  Quand le client a fait le choix de diffuser la charge de travail sur une tâche, mais n'a pas
  spécifié de fonction de retour de la charge de travail.


id: GEARMAN_NO_ACTIVE_FDS
type: constant
doc:
<comment>Description:</comment>
  GearmanClient::wait ou GearmanWorker a été appelé sans connexion.


id: GEARMAN_NO_JOBS
type: constant
doc:
<comment>Description:</comment>
  Pour un agent non-bloquant, quand GearmanWorker::work n'a aucune tâche active.


id: GEARMAN_NO_REGISTERED_FUNCTIONS
type: constant
doc:
<comment>Description:</comment>
  Quand un agent reçoit une tâche pour une fonction qu'il n'a pas référencée.


id: GEARMAN_NO_SERVERS
type: constant
doc:
<comment>Description:</comment>
  Aucun appel à GearmanClient::addServer n'a été fait avant de soumettre une tâche.


id: GEARMAN_PAUSE
type: constant
doc:
<comment>Description:</comment>
  Pour l'interface de tâche cliente non-bloquante, peut être retourné à partir du retour de la tâche
  pour "mettre en pause" l'appel et le retour de GearmanClient::runTasks. Appelez de nouveau
  GearmanClient::runTasks pour continuer.


id: GEARMAN_SEND_BUFFER_TOO_SMALL
type: constant
doc:
<comment>Description:</comment>
  Erreur interne : a essayé d'évacuer davantage de données que possible dans un paquet atomique, à
  cause de tailles de tampons codées en dur.


id: GEARMAN_SERVER_ERROR
type: constant
doc:
<comment>Description:</comment>
  Quelque chose s'est mal passé avec le serveur Gearman qui n'a pas pu traiter la requête comme il
  se doit.


id: GEARMAN_SUCCESS
type: constant
doc:
<comment>Description:</comment>
  Quelque soit l'action entreprise, elle a été couronnée de succès.


id: GEARMAN_UNEXPECTED_PACKET
type: constant
doc:
<comment>Description:</comment>
  Indique que quelque chose de grave est survenu dans gearmand. S'applique seulement à
  <class>GearmanWorker</class>.


id: GEARMAN_WORKER_GRAB_UNIQ
type: constant
doc:
<comment>Description:</comment>
  Retourne l'identifiant unique alloué au client en plus du descripteur de tâche.


id: GEARMAN_WORK_DATA
type: constant
doc:
<comment>Description:</comment>
  Un code d'erreur de notification obtenu avec GearmanClient::returnCode lors de l'utilisation de
  GearmanClient::do. Envoyé pour mettre à jour le cliet avec les données de la tâche courante. Un
  agent l'utilise quand il a besoin d'envoyer des mises à jour, d'envoyer des résultats partiels ou
  pour évacuer les données lors de tâches longues.


id: GEARMAN_WORK_EXCEPTION
type: constant
doc:
<comment>Description:</comment>
  Un code d'erreur de notification obtenu avec GearmanClient::returnCode lors de l'utilisation de
  GearmanClient::do. Indique qu'une tâche a échoué en levant une exception donnée.


id: GEARMAN_WORK_FAIL
type: constant
doc:
<comment>Description:</comment>
  Un code d'erreur de notification obtenu avec GearmanClient::returnCode lors de l'utilisation de
  GearmanClient::do. Indique qu'une tâche a échoué.


id: GEARMAN_WORK_STATUS
type: constant
doc:
<comment>Description:</comment>
  Un code d'erreur de notification obtenu avec GearmanClient::returnCode lors de l'utilisation de
  GearmanClient::do. Envoyé pour mettre à jour le statut d'une tâche longue. Utilisez
  GearmanClient::doStatus pour obtenir le pourcentage de complétion de la tâche.


id: GEARMAN_WORK_WARNING
type: constant
doc:
<comment>Description:</comment>
  Un code d'erreur de notification obtenu avec GearmanClient::returnCode lors de l'utilisation de
  GearmanClient::do. Met à jour le client avec un avertissement. Le comportement est le même qu'avec
  <info>GEARMAN_WORK_DATA</info>, sauf qu'il devrait être traité comme un avertissement plutôt que comme les
  données d'une réponse normale.


id: GMP
type: class
doc:
<comment>Description:</comment>
  Un nombre GMP. Ces objets supporte la surcharge des opérateurs arithmétiques, sur les bits et de
  comparaison.
  
  Aucune interface orientée objet n'est fournie pour manipuler les objets <class>GMP</class>. Veuillez utiliser
  l'API procédurale de GMP.


id: GMP::__construct
type: function
doc:
<comment>Description:</comment>
  Crée un nombre GMP
  
  Crée un nombre GMP, à partir d'un entier ou d'une chaîne.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$num</strong>   Un entier ou une chaîne de caractères. La chaîne peut être une représentation
                     décimale, hexadécimale ou octale.
  <info>int</info>         <strong>$base</strong>  La base.
                     
                     La base peut varier de 2 à 62. Si la base vaut 0 (valeur par défaut), la base
                     actuelle est déterminée depuis les derniers caractères ; si les deux premiers
                     caractères sont <return>0x</return> ou <return>0X</return>, l'hexadécimal est présumé, si les deux premiers
                     caractères sont <return>0b</return> ou <return>0B</return>, le binaire est présumé, sinon si le premier caractère
                     est "0", l'octal est présumé, sinon, le décimal est présumé. Pour les bases
                     jusqu'à 36, la casse est ignoré ; les lettres en majuscule et en minuscule ont
                     la même valeur. Pour les bases de 37 à 62, les lettres majuscules représentent
                     les valeurs usuelles de 10 à 35 tandis que les lettres minuscules représentent
                     les valeurs 36 à 61.

<comment>See Also:</comment>
   * <strong>gmp_init()</strong>


id: GMP::__serialize
type: function
doc:
<comment>Description:</comment>
  Sérialise l'objet GMP
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Return:</comment>
  <info>array</info>  Aucune valeur n'est retournée.


id: GMP::__unserialize
type: function
doc:
<comment>Description:</comment>
  Désérialise le paramètre data en un objet GMP
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>array</info>  <strong>$data</strong>  La valeur en cours de désérialisation.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: GSLC_SSL_NO_AUTH
type: constant
doc:
<comment>Description:</comment>
  Mode d'authentification SSL - Aucune authentification requise. (uniquement  pour Oracle LDAP)


id: GSLC_SSL_ONEWAY_AUTH
type: constant
doc:
<comment>Description:</comment>
  Mode d'authentification SSL - Seule l'authentification du serveur est  requise. (uniquement pour
  Oracle LDAP)


id: GSLC_SSL_TWOWAY_AUTH
type: constant
doc:
<comment>Description:</comment>
  Mode d'authentification SSL - Authentification du serveur et du client  requise. (uniquement pour
  Oracle LDAP)


id: GdFont
type: class
doc:
<comment>Description:</comment>
  Une classe complètement opaque qui remplace la ressource <return>gd font</return> à partir de PHP 8.1.0.


id: GdImage
type: class
doc:
<comment>Description:</comment>
  Une classe totalement opaque qui remplace les ressources <return>gd</return> à partir de PHP 8.0.0.


id: GearmanClient
type: class
doc:
<comment>Description:</comment>
  Représente une classe pour se connecter à un serveur de tâches Gearman et lui soumettre des
  requêtes pour appliquer des fonctions sur les données fournies. La fonction appliquée doit faire
  partie de celles référencées par un agent Gearman et les données traitées restent opaques du point
  de vue du serveur de tâches.


id: GearmanClient::__construct
type: function
doc:
<comment>Description:</comment>
  Crée une instance GearmanClient
  
  Crée une instance <class>GearmanClient</class> représentant un client qui se connecte à un serveur de tâches et y
  enregistre des tâches à effectuer.

<comment>Return:</comment>
  <info>unknown</info>  Un objet <class>GearmanClient</class>.

<comment>See Also:</comment>
   * GearmanClient::clone


id: GearmanClient::addOptions
type: function
doc:
<comment>Description:</comment>
  Ajoute des options au client
  
  Ajoute une ou plusieurs options à celles déjà présentes.

<comment>Param:</comment>
  <info>int</info>  <strong>$option</strong>  Les options à ajouter. Une des constantes suivantes ou la combinaison de constantes
                en utilisant  l'opérateur de manipulation de bit (|):
                <info>GEARMAN_CLIENT_GENERATE_UNIQUE</info>, <info>GEARMAN_CLIENT_NON_BLOCKING</info>,
                <info>GEARMAN_CLIENT_UNBUFFERED_RESULT</info> ou <info>GEARMAN_CLIENT_FREE_TASKS</info>.

<comment>Return:</comment>
  <info>bool</info>  Retourne toujours <info>true</info>.


id: GearmanClient::addServer
type: function
doc:
<comment>Description:</comment>
  Ajoute un serveur de tâches au client
  
  Ajoute un serveur de tâches à une liste de serveurs qui peuvent être utilisés pour accomplir une
  tâche. Aucune entrée/sortie sur un socket n'est faite ici; le serveur est juste ajouté à la liste.

<comment>Param:</comment>
  <info>string</info>  <strong>$host</strong>  Le nom d'hôte du serveur de travaux.
  <info>int</info>     <strong>$port</strong>  Le port du serveur de travaux.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanClient::addServers


id: GearmanClient::addServers
type: function
doc:
<comment>Description:</comment>
  Ajoute une liste de serveurs de tâches au client
  
  Ajoute une liste de serveurs de tâches qui peuvent être utilisés pour accomplir une tâche. Aucune
  entrée/sortie sur un socket n'est faite ici; les serveurs sont juste ajoutés à la liste complète
  de serveurs.

<comment>Param:</comment>
  <info>string</info>  <strong>$servers</strong>  Une liste de serveurs, séparés par des virgules, chacun étant spécifié selon le
                    format '<return>host:port</return>'.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanClient::addServer


id: GearmanClient::addTask
type: function
doc:
<comment>Description:</comment>
  Ajoute une tâche à exécuter en parallèle
  
  Ajoute une tâche à exécuter en parallèle d'autres tâches. Appelez cette méthode pour toutes les
  tâches à exécuter en parallèle, puis, appelez la méthode GearmanClient::runTasks pour exécuter les
  tâches. Notez qu'il est nécessaire d'avoir assez d'agents disponibles pour exécuter en parallèle
  toutes les tâches.

<comment>Param:</comment>
  <info>string</info>            <strong>$function_name</strong>  Une fonction enregistrée que le travailleur va exécuter
  <info>string|int|float</info>  <strong>$workload</strong>       Données sérialisées à analyser
  <info>mixed</info>             <strong>$context</strong>        Contexte de l'application à associer avec une tâche
  <info>string|null</info>       <strong>$unique_key</strong>     Un identifiant unique utilisé pour identifier une tâche
                                    particulière

<comment>Return:</comment>
  <info>GearmanTask|false</info>  Un objet <class>GearmanTask</class> ou <info>false</info> si l tâche n'a pu être ajoutée.

<comment>See Also:</comment>
   * GearmanClient::addTaskHigh
   * GearmanClient::addTaskLow
   * GearmanClient::addTaskBackground
   * GearmanClient::addTaskHighBackground
   * GearmanClient::addTaskLowBackground
   * GearmanClient::runTasks


id: GearmanClient::addTaskBackground
type: function
doc:
<comment>Description:</comment>
  Ajoute une tâche d'arrière-plan pour une exécution en parallèle
  
  Ajoute une tâche d'arrière-plan pour une exécution en parallèle d'autres tâches. Appelez cette
  méthode pour toutes les tâches à exécuter en parallèle, puis, appelez la méthode
  GearmanClient::runTasks pour réaliser les tâches.

<comment>Param:</comment>
  <info>string</info>            <strong>$function_name</strong>  Une fonction enregistrée que le travailleur va exécuter
  <info>string|int|float</info>  <strong>$workload</strong>       Données sérialisées à analyser
  <info>mixed</info>             <strong>$context</strong>        Contexte de l'application à associer avec une tâche
  <info>string|null</info>       <strong>$unique_key</strong>     Un identifiant unique utilisé pour identifier une tâche
                                    particulière

<comment>Return:</comment>
  <info>GearmanTask|false</info>  Un objet <class>GearmanTask</class> ou <info>false</info> si la tâche n'a pu être ajoutée.

<comment>See Also:</comment>
   * GearmanClient::addTask
   * GearmanClient::addTaskHigh
   * GearmanClient::addTaskLow
   * GearmanClient::addTaskHighBackground
   * GearmanClient::addTaskLowBackground
   * GearmanClient::runTasks


id: GearmanClient::addTaskHigh
type: function
doc:
<comment>Description:</comment>
  Ajoute une tâche de forte priorité à effectuer en parallèle
  
  Ajoute une tâche de forte priorité à effectuer en parallèle d'autres tâches. Appelez cette méthode
  pour que toutes les tâches soient menées de front, puis appelez GearmanClient::runTasks pour faire
  le travail. Les tâches avec une forte priorité seront sélectionnée dans la queue avant celle de
  priorité plus faible.

<comment>Param:</comment>
  <info>string</info>            <strong>$function_name</strong>  Une fonction enregistrée que le travailleur va exécuter
  <info>string|int|float</info>  <strong>$workload</strong>       Données sérialisées à analyser
  <info>mixed</info>             <strong>$context</strong>        Contexte de l'application à associer avec une tâche
  <info>string|null</info>       <strong>$unique_key</strong>     Un identifiant unique utilisé pour identifier une tâche
                                    particulière

<comment>Return:</comment>
  <info>GearmanTask|false</info>  Un objet <class>GearmanTask</class> ou <info>false</info> si la tâche ne peut pas être ajoutée.

<comment>See Also:</comment>
   * GearmanClient::addTask
   * GearmanClient::addTaskLow
   * GearmanClient::addTaskBackground
   * GearmanClient::addTaskHighBackground
   * GearmanClient::addTaskLowBackground
   * GearmanClient::runTasks


id: GearmanClient::addTaskHighBackground
type: function
doc:
<comment>Description:</comment>
  Ajoute une tâche de fond de forte priorité à effectuer en parallèle
  
  Ajoute une tâche de fond de forte priorité à effectuer en parallèle d'autres tâches. Appelez cette
  méthode pour que toutes les tâches soient menées de front, puis appelez GearmanClient::runTasks
  pour faire le travail. Les tâches avec une forte priorité seront sélectionnée dans la queue avant
  celle de priorité plus faible.

<comment>Param:</comment>
  <info>string</info>            <strong>$function_name</strong>  Une fonction enregistrée que le travailleur va exécuter
  <info>string|int|float</info>  <strong>$workload</strong>       Données sérialisées à analyser
  <info>mixed</info>             <strong>$context</strong>        Contexte de l'application à associer avec une tâche
  <info>string|null</info>       <strong>$unique_key</strong>     Un identifiant unique utilisé pour identifier une tâche
                                    particulière

<comment>Return:</comment>
  <info>GearmanTask|false</info>  Un objet <class>GearmanTask</class> ou <info>false</info> si la tâche ne peut pas être ajoutée.

<comment>See Also:</comment>
   * GearmanClient::addTask
   * GearmanClient::addTaskHigh
   * GearmanClient::addTaskLow
   * GearmanClient::addTaskBackground
   * GearmanClient::addTaskLowBackground
   * GearmanClient::runTasks


id: GearmanClient::addTaskLow
type: function
doc:
<comment>Description:</comment>
  Ajoute une tâche de faible priorité à effectuer en parallèle
  
  Ajoute une tâche de faible priorité à effectuer en parallèle d'autres tâches. Appelez cette
  méthode pour que toutes les tâches soient menées de front, puis appelez GearmanClient::runTasks
  pour faire le travail. Les tâches avec une faible priorité seront sélectionnée dans la queue après
  celle de priorité plus forte.

<comment>Param:</comment>
  <info>string</info>            <strong>$function_name</strong>  Une fonction enregistrée que le travailleur va exécuter
  <info>string|int|float</info>  <strong>$workload</strong>       Données sérialisées à analyser
  <info>mixed</info>             <strong>$context</strong>        Contexte de l'application à associer avec une tâche
  <info>string|null</info>       <strong>$unique_key</strong>     Un identifiant unique utilisé pour identifier une tâche
                                    particulière

<comment>Return:</comment>
  <info>GearmanTask|false</info>  Un objet <class>GearmanTask</class> ou <info>false</info> si la tâche ne peut pas être ajoutée.

<comment>See Also:</comment>
   * GearmanClient::addTask
   * GearmanClient::addTaskHigh
   * GearmanClient::addTaskBackground
   * GearmanClient::addTaskHighBackground
   * GearmanClient::addTaskLowBackground
   * GearmanClient::runTasks


id: GearmanClient::addTaskLowBackground
type: function
doc:
<comment>Description:</comment>
  Ajoute une tâche de fond de faible priorité à effectuer en parallèle
  
  Ajoute une tâche de fond de faible priorité à effectuer en parallèle d'autres tâches. Appelez
  cette méthode pour que toutes les tâches soient menées de front, puis appelez
  GearmanClient::runTasks pour faire le travail. Les tâches avec une faible priorité seront
  sélectionnée dans la queue après celle de priorité plus forte.

<comment>Param:</comment>
  <info>string</info>            <strong>$function_name</strong>  Une fonction enregistrée que le travailleur va exécuter
  <info>string|int|float</info>  <strong>$workload</strong>       Données sérialisées à analyser
  <info>mixed</info>             <strong>$context</strong>        Contexte de l'application à associer avec une tâche
  <info>string|null</info>       <strong>$unique_key</strong>     Un identifiant unique utilisé pour identifier une tâche
                                    particulière

<comment>Return:</comment>
  <info>GearmanTask|false</info>  Un objet <class>GearmanTask</class> ou <info>false</info> si la tâche ne peut pas être ajoutée.

<comment>See Also:</comment>
   * GearmanClient::addTask
   * GearmanClient::addTaskHigh
   * GearmanClient::addTaskLow
   * GearmanClient::addTaskBackground
   * GearmanClient::addTaskHighBackground
   * GearmanClient::runTasks


id: GearmanClient::addTaskStatus
type: function
doc:
<comment>Description:</comment>
  Ajoute une tâche pour obtenir le statut
  
  Utilisé pour demander le statut au serveur Gearman, qui appellera le retour de statut spécifié
  (grâce à GearmanClient::setStatusCallback).

<comment>Param:</comment>
  <info>string</info>  <strong>$job_handle</strong>  Les descripteur pour la tâche dont on souhaite le statut
  <info>mixed</info>   <strong>$context</strong>     Les données à passer au retour de statut, généralement une référence à un
                       tableau ou à un objet

<comment>Return:</comment>
  <info>GearmanTask|false</info>  Un objet <class>GearmanTask</class> ou <info>false</info> en cas d'échec.

<comment>See Also:</comment>
   * GearmanClient::setStatusCallback


id: GearmanClient::clearCallbacks
type: function
doc:
<comment>Description:</comment>
  Efface toutes les fonctions de rappel des tâches
  
  Efface toutes les fonctions de rappel des tâches précédemment définies.

<comment>Return:</comment>
  <info>bool</info>  Retourne toujours <info>true</info>.

<comment>See Also:</comment>
   * GearmanClient::setDataCallback
   * GearmanClient::setCompleteCallback
   * GearmanClient::setCreatedCallback
   * GearmanClient::setExceptionCallback
   * GearmanClient::setFailCallback
   * GearmanClient::setStatusCallback
   * GearmanClient::setWarningCallback
   * GearmanClient::setWorkloadCallback


id: GearmanClient::clone
type: function
doc:
<comment>Description:</comment>
  Crée une copie de l'objet GearmanClient
  
  Crée une copie de l'objet <class>GearmanClient</class>.

<comment>Return:</comment>
  <info>GearmanClient</info>  Une classe <class>GearmanClient</class> en cas de succès, <info>false</info> si une erreur survient.


id: GearmanClient::context
type: function
doc:
<comment>Description:</comment>
  Récupère le contexte de l'application
  
  Récupère le contexte de l'application précédemment définie avec la méthode
  GearmanClient::setContext.

<comment>Return:</comment>
  <info>string</info>  Les données de contexte identiques à celles définies avec la fonction
          GearmanClient::setContext

<comment>See Also:</comment>
   * GearmanClient::setContext


id: GearmanClient::data
type: function
doc:
<comment>Description:</comment>
  Récupère les données de l'application (obsolète)
  
  Récupère les données de l'application précédemment définies avec la méthode
  GearmanClient::setData.
  
  Cette méthode a été remplacée par la méthode GearmanClient::setContext en version 0.6.0 de
  l'extension Gearman.

<comment>Return:</comment>
  <info>string</info>  Les mêmes données que celles définies avec la méthode GearmanClient::setData

<comment>See Also:</comment>
   * GearmanClient::setData


id: GearmanClient::do
type: function
doc:
<comment>Description:</comment>
  Exécute une seule tâche et retourne le résultat (obsolète)
  
  La méthode GearmanClient::do est obsolète depuis pecl/gearman 1.0.0. Utilisez la méthode
  GearmanClient::doNormal à la place.

<comment>Param:</comment>
  <info>string</info>  <strong>$function_name</strong>  Une fonction enregistrée que le travailleur va exécuter
  <info>string</info>  <strong>$workload</strong>       Données sérialisées à analyser
  <info>string</info>  <strong>$unique</strong>         Un identifiant unique utilisé pour identifier une tâche particulière

<comment>Return:</comment>
  <info>string</info>  Une représentation sous forme de chaîne de caractères du résultat de l'exécution de la
          tâche.

<comment>See Also:</comment>
   * GearmanClient::doHigh
   * GearmanClient::doLow
   * GearmanClient::doBackground
   * GearmanClient::doHighBackground
   * GearmanClient::doLowBackground


id: GearmanClient::doBackground
type: function
doc:
<comment>Description:</comment>
  Exécute une tâche en arrière-plan
  
  Exécute une tâche en arrière-plan, retourne le gestionnaire de travaux qui pourra être utilisé
  pour récupérer le statut de la tâche en cours.

<comment>Param:</comment>
  <info>string</info>       <strong>$function</strong>  Une fonction enregistrée que le travailleur va exécuter
  <info>string</info>       <strong>$workload</strong>  Données sérialisées à analyser
  <info>string|null</info>  <strong>$unique</strong>    Un identifiant unique utilisé pour identifier une tâche particulière

<comment>Return:</comment>
  <info>string</info>  Le gestionnaire de travaux pour la tâche soumise.

<comment>See Also:</comment>
   * GearmanClient::doNormal
   * GearmanClient::doHigh
   * GearmanClient::doLow
   * GearmanClient::doHighBackground
   * GearmanClient::doLowBackground


id: GearmanClient::doHigh
type: function
doc:
<comment>Description:</comment>
  Exécute une seule tâche en priorité haute
  
  Exécute une seule tâche en priorité haute et retourne une représentation du résultat sous la forme
  d'une chaîne de caractères.  C'est aux fonctions <class>GearmanClient</class> et <class>GearmanWorker</class> d'accorder le
  format du résultat. Les tâches en priorités hautes seront exécutées avant celles dont la priorité
  est normale, voire, basse dans la file d'attente.

<comment>Param:</comment>
  <info>string</info>       <strong>$function</strong>  Une fonction enregistrée que le travailleur va exécuter
  <info>string</info>       <strong>$workload</strong>  Données sérialisées à analyser
  <info>string|null</info>  <strong>$unique</strong>    Un identifiant unique utilisé pour identifier une tâche particulière

<comment>Return:</comment>
  <info>string</info>  Le résultat de la tâche sous la forme d'une chaîne de caractères.

<comment>See Also:</comment>
   * GearmanClient::doNormal
   * GearmanClient::doLow
   * GearmanClient::doBackground
   * GearmanClient::doHighBackground
   * GearmanClient::doLowBackground


id: GearmanClient::doHighBackground
type: function
doc:
<comment>Description:</comment>
  Exécute une tâche en priorité haute en arrière plan
  
  Exécute une tâche en priorité haute en arrière plan, et retourne un gestionnaire de travail qui
  peut être utilisé pour récupérer le statut de la tâche. Les tâches en priorité haute seront
  exécutées avant les normales et les basses de la file d'attente.

<comment>Param:</comment>
  <info>string</info>       <strong>$function</strong>  Une fonction enregistrée que le travailleur va exécuter
  <info>string</info>       <strong>$workload</strong>  Données sérialisées à analyser
  <info>string|null</info>  <strong>$unique</strong>    Un identifiant unique utilisé pour identifier une tâche particulière

<comment>Return:</comment>
  <info>string</info>  Le gestionnaire de travail de la tâche ajoutée.

<comment>See Also:</comment>
   * GearmanClient::doNormal
   * GearmanClient::doHigh
   * GearmanClient::doLow
   * GearmanClient::doBackground
   * GearmanClient::doLowBackground


id: GearmanClient::doJobHandle
type: function
doc:
<comment>Description:</comment>
  Récupère le gestionnaire de travaux pour la tâche en cours
  
  Récupère le gestionnaire de travaux pour la tâche en cours. Il peut être utilisé lors de multiples
  appels à la méthode GearmanClient::doNormal. Le gestionnaire de travaux peut alors être utilisé
  pour récupérer les informations sur la tâche.

<comment>Return:</comment>
  <info>string</info>  Le gestionnaire de travaux pour la tâche en cours.

<comment>See Also:</comment>
   * GearmanClient::jobStatus


id: GearmanClient::doLow
type: function
doc:
<comment>Description:</comment>
  Exécute une seule tâche en priorité basse
  
  Exécute une seule tâche en priorité basse et retourne une représentation sous forme de chaîne de
  caractères du résultat. Il convient aux méthodes <class>GearmanClient</class> et <class>GearmanWorker</class> de valider le
  format du résultat. Les tâches dont la priorité est normale ou haute seront traitées en priorité
  par rapport aux tâches dont la priorité est basse dans la file d'attente.

<comment>Param:</comment>
  <info>string</info>       <strong>$function</strong>  Une fonction enregistrée que le travailleur va exécuter
  <info>string</info>       <strong>$workload</strong>  Données sérialisées à analyser
  <info>string|null</info>  <strong>$unique</strong>    Un identifiant unique utilisé pour identifier une tâche particulière

<comment>Return:</comment>
  <info>string</info>  Une représentation sous forme de chaîne de caractères du résultat de la tâche en cours.

<comment>See Also:</comment>
   * GearmanClient::doNormal
   * GearmanClient::doHigh
   * GearmanClient::doBackground
   * GearmanClient::doHighBackground
   * GearmanClient::doLowBackground


id: GearmanClient::doLowBackground
type: function
doc:
<comment>Description:</comment>
  Exécute une tâche en priorité basse en arrière-plan
  
  Exécute une tâche en priorité basse en arrière-plan, puis, retourne le gestionnaire de travaux qui
  pourra être utilisé pour récupérer le statut de la tâche en cours. Les tâches dont la priorité est
  normale et haute auront la priorité sur celle dont la priorité est basse dans la file d'attente.

<comment>Param:</comment>
  <info>string</info>       <strong>$function</strong>  Une fonction enregistrée que le travailleur va exécuter
  <info>string</info>       <strong>$workload</strong>  Données sérialisées à analyser
  <info>string|null</info>  <strong>$unique</strong>    Un identifiant unique utilisé pour identifier une tâche particulière

<comment>Return:</comment>
  <info>string</info>  Le gestionnaire de travaux de la tâche soumise.

<comment>See Also:</comment>
   * GearmanClient::doNormal
   * GearmanClient::doHigh
   * GearmanClient::doLow
   * GearmanClient::doBackground
   * GearmanClient::doHighBackground


id: GearmanClient::doNormal
type: function
doc:
<comment>Description:</comment>
  Exécute une tâche et retourne le résultat
  
  Exécute une tâche et retourne une chaîne de caractères représentant le résultat. Il appartient aux
  classes <class>GearmanClient</class> et <class>GearmanWorker</class> d'accepter le format du résultat.

<comment>Param:</comment>
  <info>string</info>       <strong>$function</strong>  Une fonction enregistrée que le travailleur va exécuter
  <info>string</info>       <strong>$workload</strong>  Données sérialisées à analyser
  <info>string|null</info>  <strong>$unique</strong>    Un identifiant unique utilisé pour identifier une tâche particulière

<comment>Return:</comment>
  <info>string</info>  Une chaîne de caractères représentant le résultat de la tâche exécutée.

<comment>See Also:</comment>
   * GearmanClient::doHigh
   * GearmanClient::doLow
   * GearmanClient::doBackground
   * GearmanClient::doHighBackground
   * GearmanClient::doLowBackground


id: GearmanClient::doStatus
type: function
doc:
<comment>Description:</comment>
  Récupère le statut de la tâche en cours
  
  Retourne le statut de la tâche en cours. Il pourra être utilisé lors de multiples appels à la
  méthode GearmanClient::doNormal.

<comment>Return:</comment>
  <info>array</info>  Un tableau représentant le pourcentage de réalisation fourni sous la forme d'une fraction,
         dont le premier élément est le numérateur, et le second, le dénominateur.

<comment>See Also:</comment>
   * GearmanClient::doNormal
   * GearmanJob::status


id: GearmanClient::echo
type: function
doc:
<comment>Description:</comment>
  Envoi des données à tous les serveurs de travaux afin de vérifier qu'ils les affichent en retour
  (obsolète)
  
  La méthode GearmanClient::echo est obsolète depuis pecl/gearman 1.0.0. Utilisez la méthode
  GearmanClient::ping à la place.

<comment>Param:</comment>
  <info>string</info>  <strong>$workload</strong>  Données arbitraires sérialisées

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: GearmanClient::error
type: function
doc:
<comment>Description:</comment>
  Retourne la dernière erreur rencontrée sous forme de chaîne de caractères
  
  Retourne la dernière erreur rencontrée sous forme de chaîne de caractères.

<comment>Return:</comment>
  <info>string|false</info>  Une chaîne de caractères humainement lisible représentant la dernière erreur
                survenue, ou <info>false</info> s'il n'y a pas de message d'erreur disponible.

<comment>See Also:</comment>
   * GearmanClient::getErrno


id: GearmanClient::getErrno
type: function
doc:
<comment>Description:</comment>
  Récupère la valeur d'errno
  
  Retourne la valeur d'errno dans le vas d'une valeur de retour GEARMAN_ERRNO.

<comment>Return:</comment>
  <info>int</info>  Une valeur d'errno Gearman valide.

<comment>See Also:</comment>
   * GearmanClient::error


id: GearmanClient::jobStatus
type: function
doc:
<comment>Description:</comment>
  Récupère le statut d'un travail en arrière-plan
  
  Style orienté objet (méthode) :
  
  Récupère le statut d'un travail en arrière-plan pour le gestionnaire de travaux fourni. Les
  informations de statut spécifient si le travail est connu, si le travail est actuellement en cours
  d'exécution, ainsi que le pourcentage de réalisation.

<comment>Param:</comment>
  <info>string</info>  <strong>$job_handle</strong>  Le gestionnaire de travaux assigné par le serveur Gearman

<comment>Return:</comment>
  <info>array</info>  Un tableau contenant les informations de statut pour le travail correspondant au
         gestionnaire de travaux fourni. Le premier élément est un booléen indiquant si le travail
         est connu, le second est un booléen indiquant si le travail est en cours d'exécution, le
         troisième et le quatrième correspondent au numérateur et dénominateur du pourcentage de
         réalisation.

<comment>See Also:</comment>
   * GearmanClient::doStatus


id: GearmanClient::ping
type: function
doc:
<comment>Description:</comment>
  Envoi des données à tous les serveurs de tâches pour s'assurer qu'ils sont toujours en
  fonctionnement
  
  Envoi de données arbitraires à tous les serveurs de tâches pour s'assurer qu'ils sont bien en
  fonctionnement. Les données envoyées ne sont en aucun cas utilisées ou analysées. L'utilisation
  primaire de cette fonction est lors des tests et du débogage.

<comment>Param:</comment>
  <info>string</info>  <strong>$workload</strong>  Quelques données arbitraires qui seront retournées.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: GearmanClient::removeOptions
type: function
doc:
<comment>Description:</comment>
  Supprime les options du client
  
  Supprime une ou plusieurs options.

<comment>Param:</comment>
  <info>int</info>  <strong>$option</strong>  Les options à supprimer.

<comment>Return:</comment>
  <info>bool</info>  Retourne toujours <info>true</info>.


id: GearmanClient::returnCode
type: function
doc:
<comment>Description:</comment>
  Récupère le dernier code Gearman retourné
  
  Retourne le dernier code Gearman retourné.

<comment>Return:</comment>
  <info>int</info>  Un code retour Gearman valide.


id: GearmanClient::runTasks
type: function
doc:
<comment>Description:</comment>
  Exécute une liste de tâches en parallèle
  
  Pour un jeu de tâches précédemment ajoutées avec les méthodes GearmanClient::addTask,
  GearmanClient::addTaskHigh, GearmanClient::addTaskLow, GearmanClient::addTaskBackground,
  GearmanClient::addTaskHighBackground, ou GearmanClient::addTaskLowBackground, cette méthode
  démarre l'exécution des tâches en parallèle.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanClient::addTask


id: GearmanClient::setClientCallback
type: function
doc:
<comment>Description:</comment>
  Définit une fonction de rappel lorsqu'un paquet de données est reçu pour une tâche (obsolète)
  
  Définit une fonction de rappel lorsqu'un paquet de données est reçu pour une tâche. La fonction de
  rappel prend un seul argument, un objet <class>GearmanTask</class>.
  
  Cette méthode a été remplacée par la méthode GearmanClient::setDataCallback depuis la version
  0.6.0 de l'extension Gearman.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Une fonction ou une méthode à appeler

<comment>Return:</comment>
  <info>void</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanClient::setCompleteCallback
   * GearmanClient::setCreatedCallback
   * GearmanClient::setDataCallback
   * GearmanClient::setExceptionCallback
   * GearmanClient::setFailCallback
   * GearmanClient::setStatusCallback
   * GearmanClient::setWarningCallback
   * GearmanClient::setWorkloadCallback


id: GearmanClient::setCompleteCallback
type: function
doc:
<comment>Description:</comment>
  Définit une fonction à appeler une fois la tâche terminée
  
  Définit une fonction à appeler lorsqu'une <class>GearmanTask</class>  se termine, ou quand
  GearmanJob::sendComplete est  appelé par le worker (selon ce qui se passe en premier).
  
  Cette fonction de rappel est exécuté uniquement lors de l'exécution d'une <class>GearmanTask</class> à l'aide de
  GearmanClient::runTasks. Il n'est pas utilisé pour des travaux individuels.

<comment>Param:</comment>
  <info>callable</info>  <strong>$function</strong>  Une fonction à appeler.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanClient::setDataCallback
   * GearmanClient::setCreatedCallback
   * GearmanClient::setExceptionCallback
   * GearmanClient::setFailCallback
   * GearmanClient::setStatusCallback
   * GearmanClient::setWarningCallback
   * GearmanClient::setWorkloadCallback


id: GearmanClient::setContext
type: function
doc:
<comment>Description:</comment>
  Définit le contexte d'une application
  
  Définit une chaîne arbitraire à fournir comme contexte de l'application qui pourra être récupérée
  plus tard via la méthode GearmanClient::context.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Données de contexte

<comment>Return:</comment>
  <info>bool</info>  Retourne toujours <info>true</info>.

<comment>See Also:</comment>
   * GearmanClient::context


id: GearmanClient::setCreatedCallback
type: function
doc:
<comment>Description:</comment>
  Définit une fonction de rappel à appeler lorsqu'une tâche est placée dans la file d'attente
  
  Définit une fonction de rappel à appeler lorsqu'une tâche est placée dans la file d'attente du
  serveur de travaux gearman. La fonction de rappel doit accepter un seul argument, un objet
  <class>GearmanTask</class>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$function</strong>  Une fonction à appeler

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanClient::setDataCallback
   * GearmanClient::setCompleteCallback
   * GearmanClient::setExceptionCallback
   * GearmanClient::setFailCallback
   * GearmanClient::setStatusCallback
   * GearmanClient::setWarningCallback
   * GearmanClient::setWorkloadCallback


id: GearmanClient::setData
type: function
doc:
<comment>Description:</comment>
  Définit les données de l'application (obsolète)
  
  Définit les données de l'application qui pourront ensuite être récupérées via la méthode
  GearmanClient::data.
  
  Cette méthode a été remplacée par la méthode GearmanCient::setContext depuis la version 0.6.0 de
  l'extension Gearman.

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

<comment>Return:</comment>
  <info>bool</info>  Retourne toujours <info>true</info>.

<comment>See Also:</comment>
   * GearmanClient::data


id: GearmanClient::setDataCallback
type: function
doc:
<comment>Description:</comment>
  Définit une fonction de rappel à appeler lorsqu'un paquet de données est reçu pour une tâche
  
  Définit une fonction de rappel à appeler lorsqu'un paquet de données est reçu pour une tâche. La
  fonction de rappel doit accepter un seul argument, un objet <class>GearmanTask</class>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$function</strong>  Une fonction ou une méthode à appeler.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanClient::setCompleteCallback
   * GearmanClient::setCreatedCallback
   * GearmanClient::setExceptionCallback
   * GearmanClient::setFailCallback
   * GearmanClient::setStatusCallback
   * GearmanClient::setWarningCallback
   * GearmanClient::setWorkloadCallback


id: GearmanClient::setExceptionCallback
type: function
doc:
<comment>Description:</comment>
  Définit une fonction de rappel pour les exceptions émises par l'agent
  
  Spécifie une fonction à appeler lorsqu'un agent émet une exception.

<comment>Param:</comment>
  <info>callable</info>  <strong>$function</strong>  Fonction à appeler lorsque l'agent émet une exception.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanClient::setDataCallback
   * GearmanClient::setCompleteCallback
   * GearmanClient::setCreatedCallback
   * GearmanClient::setFailCallback
   * GearmanClient::setStatusCallback
   * GearmanClient::setWarningCallback
   * GearmanClient::setWorkloadCallback


id: GearmanClient::setFailCallback
type: function
doc:
<comment>Description:</comment>
  Définit une fonction de rappel à appeler lorsqu'un travail échoue
  
  Définit une fonction de rappel à utiliser lorsqu'une tâche échoue. La fonction doit accepter un
  seul argument, un objet <class>GearmanTask</class>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$function</strong>  Une fonction à appeler.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanClient::setDataCallback
   * GearmanClient::setCompleteCallback
   * GearmanClient::setCreatedCallback
   * GearmanClient::setExceptionCallback
   * GearmanClient::setStatusCallback
   * GearmanClient::setWarningCallback
   * GearmanClient::setWorkloadCallback


id: GearmanClient::setOptions
type: function
doc:
<comment>Description:</comment>
  Définit les options du client
  
  Définit une ou plusieurs options du client.

<comment>Param:</comment>
  <info>int</info>  <strong>$option</strong>  Les options à définir.

<comment>Return:</comment>
  <info>bool</info>  Retourne toujours <info>true</info>.


id: GearmanClient::setStatusCallback
type: function
doc:
<comment>Description:</comment>
  Définit une fonction de rappel pour collecter les statuts d'une tâche
  
  Définit une fonction de rappel à utiliser pour récupérer les informations de statut mis à jour
  depuis l'agent. La fonction doit accepter un seul argument, un objet <class>GearmanTask</class>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$function</strong>  Une fonction à appeler.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanClient::setDataCallback
   * GearmanClient::setCompleteCallback
   * GearmanClient::setCreatedCallback
   * GearmanClient::setExceptionCallback
   * GearmanClient::setFailCallback
   * GearmanClient::setWarningCallback
   * GearmanClient::setWorkloadCallback


id: GearmanClient::setTimeout
type: function
doc:
<comment>Description:</comment>
  Définit le délai d'attente d'une activité du socket I/O
  
  Définit le délai d'attente d'une activité du socket I/O.

<comment>Param:</comment>
  <info>int</info>  <strong>$timeout</strong>  Un intervalle de temps, en millisecondes.

<comment>Return:</comment>
  <info>bool</info>  Retourne toujours <info>true</info>.


id: GearmanClient::setWarningCallback
type: function
doc:
<comment>Description:</comment>
  Définit une fonction de rappel lors de l'émission d'alerte depuis l'agent
  
  Définit une fonction à appeler lorsqu'un agent lance une alerte. La fonction de rappel doit
  accepter un seul argument, un objet <class>GearmanTask</class>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$function</strong>  Une fonction à appeler.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanClient::setDataCallback
   * GearmanClient::setCompleteCallback
   * GearmanClient::setCreatedCallback
   * GearmanClient::setExceptionCallback
   * GearmanClient::setFailCallback
   * GearmanClient::setStatusCallback
   * GearmanClient::setWorkloadCallback


id: GearmanClient::setWorkloadCallback
type: function
doc:
<comment>Description:</comment>
  Définit une fonction de rappel lors de la réception de mises à jour de données incrémentales
  
  Définit une fonction à appeler lorsqu'un agent a besoin d'envoyer des données avant la fin d'un
  travail. Un agent peut le faire lorsqu'il doit envoyer des mises à jour, envoyer des résultats
  partiels, ou envoyer des données en temps réel lors de l'exécution de travaux qui prennent
  beaucoup de temps. La fonction de rappel doit accepter un seul argument, un objet <class>GearmanTask</class>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$function</strong>  Une fonction à appeler.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanClient::setDataCallback
   * GearmanClient::setCompleteCallback
   * GearmanClient::setCreatedCallback
   * GearmanClient::setExceptionCallback
   * GearmanClient::setFailCallback
   * GearmanClient::setStatusCallback
   * GearmanClient::setWarningCallback


id: GearmanClient::timeout
type: function
doc:
<comment>Description:</comment>
  Récupère la valeur du délai d'activité du socket I/O
  
  Retourne la valeur du délai, en millisecondes, à attendre une activité du socket I/O.

<comment>Return:</comment>
  <info>int</info>  Le délai d'attente, en millisecondes, d'une activité I/O. Une valeur négative signifie que le
       délai est infinie.

<comment>See Also:</comment>
   * GearmanClient::setTimeout


id: GearmanClient::wait
type: function
doc:
<comment>Description:</comment>
  Wait for I/O activity on all connections in a client
  
  This waits for activity from any one of the connected servers.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> on success <info>false</info> on an error.

<comment>See Also:</comment>
   * GearmanWorker::wait


id: GearmanJob::__construct
type: function
doc:
<comment>Description:</comment>
  Crée une nouvelle instance GearmanJob
  
  Crée une nouvelle instance <class>GearmanJob</class> représentant un travail assigné à un agent.

<comment>Return:</comment>
  <info>unknown</info>  Un objet <class>GearmanJob</class>.


id: GearmanJob::complete
type: function
doc:
<comment>Description:</comment>
  Envoie les résultats ainsi que le statut complet (obsolète)
  
  Envoie les résultats ainsi que le statut complet mis à jour pour ce travail.
  
  Cette méthode a été remplacée par la méthode GearmanJob::sendComplete dans la version 0.6.0 de
  l'extension Gearman.

<comment>Param:</comment>
  <info>string</info>  <strong>$result</strong>  Les données sérialisées du résultat.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanJob::sendFail
   * GearmanJob::setReturn


id: GearmanJob::data
type: function
doc:
<comment>Description:</comment>
  Envoie des données pour un travail en cours d'exécution (obsolète)
  
  Envoie des données vers un serveur de travaux (et à tous les clients à l'écoute) pour ce travail.
  
  Cette méthode a été remplacée par la méthode GearmanJob::sendData depuis la version 0.6.0 de
  l'extension Gearman.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Données sérialisées arbitraires.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanJob::workload
   * GearmanTask::data


id: GearmanJob::exception
type: function
doc:
<comment>Description:</comment>
  Envoie une exception pour un travail en cours d'exécution (obsolète)
  
  Envoie l'exception fournie lorsque ce travail est en cours d'exécution.
  
  Cette méthode a été remplacée par la méthode GearmanJob::sendException depuis la version 0.6.0 de
  l'extension Gearman.

<comment>Param:</comment>
  <info>string</info>  <strong>$exception</strong>  Une description d'exception.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanJob::setReturn
   * GearmanJob::sendStatus
   * GearmanJob::sendWarning


id: GearmanJob::fail
type: function
doc:
<comment>Description:</comment>
  Envoie un statut d'échec (obsolète)
  
  Envoie un statut d'échec pour ce travail, indiquant que le travail a échoué de façon inattendu (à
  contrario d'un échec avec une émission d'une exception donnée).
  
  Cette méthode a été remplacée par la méthode GearmanJob::sendFail depuis la version 0.6.0 de
  l'extension Gearman.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanJob::sendException
   * GearmanJob::setReturn
   * GearmanJob::sendStatus
   * GearmanJob::sendWarning


id: GearmanJob::functionName
type: function
doc:
<comment>Description:</comment>
  Récupère le nom de la fonction
  
  Retourne le nom de la fonction pour ce travail. C'est la fonction exécutée par l'agent pour
  exécuter le travail.

<comment>Return:</comment>
  <info>false|string</info>  Le nom de la fonction, ou <info>false</info> si le travail n'a pas été initialisé.

<comment>See Also:</comment>
   * GearmanTask::function


id: GearmanJob::handle
type: function
doc:
<comment>Description:</comment>
  Récupère le gestionnaire de travaux
  
  Retourne le gestionnaire de travaux assigné par le serveur de travaux.

<comment>Return:</comment>
  <info>false|string</info>  Un gestionnaire de travaux, ou <info>false</info> si le travail n'a pas été initialisé.

<comment>See Also:</comment>
   * GearmanTask::jobHandle


id: GearmanJob::returnCode
type: function
doc:
<comment>Description:</comment>
  Récupère le dernier code retourné
  
  Retourne le dernier code retourné par le serveur de travaux.

<comment>Return:</comment>
  <info>int</info>  Un code de retour valide Gearman.

<comment>See Also:</comment>
   * GearmanTask::returnCode


id: GearmanJob::sendComplete
type: function
doc:
<comment>Description:</comment>
  Envoie le résultat ainsi que le statut complet
  
  Envoie les données du résultat ainsi que le statut complet mis à jour pour ce travail.

<comment>Param:</comment>
  <info>string</info>  <strong>$result</strong>  Les données sérialisées du résultat.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanJob::sendFail
   * GearmanJob::setReturn


id: GearmanJob::sendData
type: function
doc:
<comment>Description:</comment>
  Envoie les données pour un travail en cours d'exécution
  
  Envoie les données au serveur de travaux (et à tous les clients à l'écoute) pour ce travail.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Données sérialisées arbitraires.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanJob::workload
   * GearmanTask::data


id: GearmanJob::sendException
type: function
doc:
<comment>Description:</comment>
  Envoie une exception pour un travail en cours d'exécution
  
  Envoie l'exception fournie lors de l'exécution de ce travail.

<comment>Param:</comment>
  <info>string</info>  <strong>$exception</strong>  Une description d'exception.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanJob::setReturn
   * GearmanJob::sendStatus
   * GearmanJob::sendWarning


id: GearmanJob::sendFail
type: function
doc:
<comment>Description:</comment>
  Envoie un statut d'échec
  
  Envoie un statut d'échec pour ce travail, indiquant que le travail a échoué de façon inattendue (a
  contrario d'une erreur émettant une exception).

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanJob::sendException
   * GearmanJob::setReturn
   * GearmanJob::sendStatus
   * GearmanJob::sendWarning


id: GearmanJob::sendStatus
type: function
doc:
<comment>Description:</comment>
  Envoie un statut
  
  Envoie des informations de statut au serveur de travaux ainsi qu'à tous les clients à l'écoute.
  Utilisez cette méthode pour spécifier le pourcentage de réalisation du travail courant.

<comment>Param:</comment>
  <info>int</info>  <strong>$numerator</strong>    Le numérateur du taux de réalisation, sous forme d'une fraction.
  <info>int</info>  <strong>$denominator</strong>  Le dénominateur du taux de réalisation, sous forme d'une fraction.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * GearmanClient::jobStatus
   * GearmanTask::taskDenominator
   * GearmanTask::taskNumerator


