Para k una variable sea visible desde la funcion tiene que declararla dentro de la funcion como global.
Código PHP:
<?php
$url_asignado = "http://www.misitio.com";
$anchor_asignado = "juancito";
$img_asignado = "";
function boton_enlace(){
global $url_asignado, $anchor_asignado,$img_asignado;
if (isset($anchor_asignado)){
$enlace = new Link2Text ($url_asignado,$anchor_asignado);
}else{
$enlace = new Link2Graph ($url_asignado,$img_asignado);
}
return $enlace; // devuelve el objeto pero al imprimirse se llama al metodo magico __toString()
}
?>
No se si es lo k realmente deseas hacer.