<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Curso_POO_PHP_Funci%C3%B3ns</id>
	<title>Curso POO PHP Funcións - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Curso_POO_PHP_Funci%C3%B3ns"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Curso_POO_PHP_Funci%C3%B3ns&amp;action=history"/>
	<updated>2026-10-22T10:26:20Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=Curso_POO_PHP_Funci%C3%B3ns&amp;diff=36717&amp;oldid=prev</id>
		<title>Vlourido en 09:00 26 jul 2013</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Curso_POO_PHP_Funci%C3%B3ns&amp;diff=36717&amp;oldid=prev"/>
		<updated>2013-07-26T09:00:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Curso POO PHP| 113 - Curso POO PHP]]&lt;br /&gt;
== Funcións ==&lt;br /&gt;
En PHP temos a nosa disposición gran cantidade de funcións. Destas, moitas están incluídas no núcleo de PHP e pódense usar directamente. Outras moitas encóntranse dispoñibles en forma de extensións, e pódense incorporar á linguaxe cando se necesitan.&lt;br /&gt;
&lt;br /&gt;
Coa distribución de PHP inclúense varias extensións. Para poder usar as funcións dunha extensión, tes que asegurarte de activala mediante o uso dunha directiva extension no ficheiro php.ini. Moitas outras extensións non se inclúen con PHP e antes de poder utilizalas tes que descargalas.&lt;br /&gt;
&lt;br /&gt;
Para obter extensións para a linguaxe PHP podes utilizar &amp;#039;&amp;#039;&amp;#039;[http://es1.php.net/manual/es/install.pecl.php PECL]&amp;#039;&amp;#039;&amp;#039;. PECL é un repositorio de extensións para PHP. Xunto con PHP inclúese un comando pecl que podes utilizar para instalar extensións de forma sinxela:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# pecl install nome_extensión&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para facer unha chamada a unha función, abonda con poñer o seu nome e unhas parénteses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
encabezado();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para [http://es1.php.net/manual/es/functions.user-defined.php crear as túas propias funcións], deberás usar a palabra &amp;#039;&amp;#039;&amp;#039;function&amp;#039;&amp;#039;&amp;#039;. En PHP non é necesario que definas unha función antes de utilizala, agás cando está condicionalmente definida (por exemplo, a definición da función realízase dentro dun bloque &amp;#039;&amp;#039;&amp;#039;if&amp;#039;&amp;#039;&amp;#039;). Cando unha función está definida dunha forma condicional as súas definicións deben ser procesadas antes de ser chamadas. Polo tanto, a definición da función debe estar antes de calquera chamada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
function encabezado() {&lt;br /&gt;
  echo &amp;quot;&amp;lt;head&amp;gt;&amp;quot;&lt;br /&gt;
  echo &amp;quot;&amp;lt;title&amp;gt;Aprendendo PHP&amp;lt;/title&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Valor de retorno e argumentos ===&lt;br /&gt;
&lt;br /&gt;
As funcións poden devolver un valor usando a sentenza &amp;#039;&amp;#039;&amp;#039;[http://es1.php.net/manual/es/functions.returning-values.php return]&amp;#039;&amp;#039;&amp;#039;. Cando nunha función se encontra unha sentenza return, remata o seu procesamento e devolve o valor que se indica.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
function encabezado() {&lt;br /&gt;
  return &amp;quot;&amp;lt;head&amp;gt;&amp;quot;.&amp;quot;&amp;lt;title&amp;gt;Aprendendo PHP&amp;lt;/title&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tamén é posible facer que unha función devolva unha referencia a unha variable, e non o seu valor. Isto faise empregando o operador &amp;#039;&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;&amp;#039; tanto na definición da función (e non na sentencia return), como na chamada á función.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
function &amp;amp;acumula($valor) {&lt;br /&gt;
  global $acumulador;&lt;br /&gt;
  $acumulador += $valor;&lt;br /&gt;
  return $acumulador;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// $b pasa a ser unha referencia á variable global acumulador&lt;br /&gt;
$b =&amp;amp; acumula(3);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Os [http://es1.php.net/manual/es/functions.arguments.php argumentos] indícanse na definición da función como unha lista de variables separada por comas. Non se indica o tipo de cada argumento, ao igual que non se indica se a función vai devolver ou non un valor (se unha función non ten unha sentenza return, devolve &amp;#039;&amp;#039;&amp;#039;null&amp;#039;&amp;#039;&amp;#039; ao finalizar o seu procesamento).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
function suma($a, $b) {&lt;br /&gt;
  return $a + $b;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao definir a función, podes indicar [http://es1.php.net/manual/es/functions.arguments.php#functions.arguments.default valores por defecto para os argumentos], de forma que cando fagas unha chamada á función podes non indicar o valor dun argumento; neste caso tómase o valor por defecto indicado.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
function suma($a, $b=0) {&lt;br /&gt;
  return $a + $b;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por defecto en PHP os argumentos pásanse por valor, isto é, créase unha nova variable de xeito que calquera cambio que se faga sobre o seu valor dentro da función non afectará ao valor da variable que se pasa como parámetro. Se queres que isto aconteza debes definir o parámetro para que o seu valor se pase [http://es1.php.net/manual/es/functions.arguments.php#functions.arguments.by-reference por referencia], engadindo o símbolo &amp;#039;&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;&amp;#039; antes do seu nome.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
function suma(&amp;amp;$a, $b) {&lt;br /&gt;
  $a += $b;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tamén é posible definir unha función que reciba un [http://es1.php.net/manual/es/functions.arguments.php#functions.variable-arg-list número indefinido de argumentos]. Faise empregando as funcións &amp;#039;&amp;#039;&amp;#039;[http://es1.php.net/manual/es/function.func-num-args.php func_num_args]&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;[http://es1.php.net/manual/es/function.func-get-arg.php func_get_arg]&amp;#039;&amp;#039;&amp;#039;, e &amp;#039;&amp;#039;&amp;#039;[http://es1.php.net/manual/es/function.func-get-args.php func_get_args]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
function suma() {&lt;br /&gt;
  $num_sumandos = func_num_args();&lt;br /&gt;
  for($resultado = 0;$num_sumandos&amp;gt;0;$num_sumandos--;) {&lt;br /&gt;
    $resultado += func_get_arg($num_sumandos-1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Variables estáticas ===&lt;br /&gt;
&lt;br /&gt;
As variables locais a unha función perden o seu valor cando esta remata. Se queres manter o valor dunha variable entre as distintas chamadas a unha función, debes empregar [http://www.php.net/manual/es/language.variables.scope.php#language.variables.scope.static variables estáticas].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
function acumulador($valor) {&lt;br /&gt;
  static $total = 0;&lt;br /&gt;
  $total += $valor;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variables estáticas inicialízanse soamente a primeira vez que se executa a función.&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Vlourido|Víctor Lourido]] 14:43 25 jun 2013 (CEST)&lt;/div&gt;</summary>
		<author><name>Vlourido</name></author>
	</entry>
</feed>