<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.luasandboxfunction.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'luasandboxfunction.call.php',
    1 => 'LuaSandboxFunction::call',
    2 => 'Appelle une fonction Lua',
  ),
  'up' => 
  array (
    0 => 'class.luasandboxfunction.php',
    1 => 'LuaSandboxFunction',
  ),
  'prev' => 
  array (
    0 => 'class.luasandboxfunction.php',
    1 => 'LuaSandboxFunction',
  ),
  'next' => 
  array (
    0 => 'luasandboxfunction.construct.php',
    1 => 'LuaSandboxFunction::__construct',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/luasandbox/luasandboxfunction/call.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="luasandboxfunction.call" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">LuaSandboxFunction::call</h1>
  <p class="verinfo">(PECL luasandbox &gt;= 1.0.0)</p><p class="refpurpose"><span class="refname">LuaSandboxFunction::call</span> &mdash; <span class="dc-title">Appelle une fonction Lua</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-luasandboxfunction.call-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>LuaSandboxFunction::call</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">...$args</code></span>): <span class="type"><span class="type"><a href="language.types.array.php" class="type array">array</a></span>|<span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></span></div>

  <p class="simpara">
   Appelle une fonction Lua.
  </p>
  <p class="simpara">
   Les erreurs considérées comme étant de la faute du code PHP entraîneront
   le retour de la fonction avec la valeur <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> et l&#039;émission de <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong>,
   par exemple, un type <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span> utilisé comme argument. Les erreurs Lua
   entraîneront le lancement d&#039;une exception <span class="classname"><a href="class.luasandboxruntimeerror.php" class="classname">LuaSandboxRuntimeError</a></span>.
  </p>
  <p class="simpara">
   Les types PHP et Lua sont convertis comme suit :
  </p>
  <ul class="itemizedlist">
   <li class="listitem">
    <span class="simpara">Les <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> de PHP sont les <code class="literal">nil</code> de Lua, et vice versa.</span>
   </li>
   <li class="listitem">
    <span class="simpara">
     Les <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>s de PHP et <span class="type"><a href="language.types.float.php" class="type float">float</a></span>s sont convertis en nombres Lua.
     L&#039;infini et <strong><code><a href="math.constants.php#constant.nan">NAN</a></code></strong> sont supportés.
    </span>
   </li>
   <li class="listitem">
    <span class="simpara">
     Les nombres Lua sans partie fractionnaire entre environ <code class="literal">-2**53</code>
     et <code class="literal">2**53</code> sont convertis en <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>s PHP, les autres
     sont convertis en <span class="type"><a href="language.types.float.php" class="type float">float</a></span>s PHP.
    </span>
   </li>
   <li class="listitem">
    <span class="simpara">Les <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>s de PHP sont des booléens Lua, et vice versa.</span>
   </li>
   <li class="listitem">
    <span class="simpara">Les <span class="type"><a href="language.types.string.php" class="type string">string</a></span>s de PHP sont des chaînes Lua, et vice versa.</span>
   </li>
   <li class="listitem">
    <span class="simpara">
     Les fonctions Lua sont des objets PHP <span class="classname"><a href="class.luasandboxfunction.php" class="classname">LuaSandboxFunction</a></span>, et vice versa.
     Les <span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span>s PHP généraux ne sont pas supportés.
    </span>
   </li>
   <li class="listitem">
    <span class="simpara">
     Les <span class="type"><a href="language.types.array.php" class="type array">array</a></span>s de PHP sont convertis en tables Lua, et vice versa.
    </span>
    <ul class="itemizedlist">
     <li class="listitem">
      <span class="simpara">
       Il est à noter que Lua indexe typiquement les tableaux à partir de 1, tandis que PHP
       indexe les tableaux à partir de 0. Aucun ajustement n&#039;est fait pour ces conventions
       différentes.
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">Les tableaux auto-référentiels ne sont pas supportés dans les deux sens.</span>
     </li>
     <li class="listitem">
      <span class="simpara">Les références PHP sont déréférencées.</span>
     </li>
     <li class="listitem">
      <span class="simpara">
       Les <code class="literal">__pairs</code> et <code class="literal">__ipairs</code> de Lua sont traités.
       <code class="literal">__index</code> est ignoré.
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       Lors de la conversion de PHP en Lua, les clés entières entre
       <code class="literal">-2**53</code> et <code class="literal">2**53</code> sont représentées
       comme des nombres Lua. Toutes les autres clés sont représentées comme des chaînes Lua.
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       Lors de la conversion de Lua en PHP, les clés autres que les chaînes et
       les nombres entraîneront une erreur, tout comme les collisions lors de la conversion
       de nombres en chaînes ou vice versa (puisque PHP considère des choses comme
       <code class="literal">$a[0]</code> et <code class="literal">$a[&quot;0&quot;]</code> comme étant équivalentes).
      </span>
     </li>
    </ul>
   </li>
   <li class="listitem">
    <span class="simpara">
     Tous les autres types ne sont pas supportés et entraîneront une erreur/exception,
     y compris les <span class="type"><a href="language.types.object.php" class="type object">object</a></span>s PHP généraux et les types userdata et thread Lua.
    </span>
   </li>
  </ul>
  <p class="simpara">
   Les fonctions Lua retournent intrinsèquement une liste de résultats. Donc, sur succès,
   cette méthode retourne un <span class="type"><a href="language.types.array.php" class="type array">array</a></span> contenant toutes les valeurs retournées par Lua,
   avec des clés <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> commençant à zéro. Lua peut ne retourner aucun résultat, auquel
   cas un tableau vide est retourné.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-luasandboxfunction.call-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <dl>
   
    <dt><code class="parameter">args</code></dt>
    <dd>
     <span class="simpara">
      Les arguments passés à la fonction.
     </span>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-luasandboxfunction.call-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="simpara">
   Renvoie un <span class="type"><a href="language.types.array.php" class="type array">array</a></span> des valeurs retournées par la fonction, qui peut être vide,
    ou <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si une erreur survient.
  </p>
 </div>


</div><?php manual_footer($setup); ?>