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.