Foros del Web » Programando para Internet » PHP » Symfony »

Problema con service.yml

Estas en el tema de Problema con service.yml en el foro de Symfony en Foros del Web. Estimados, buen día: Tengo un inconveniente a la hora de declarar un fomulario como servicio para poder usarlo dentro de otro. Este es mi archivo ...
  #1 (permalink)  
Antiguo 02/03/2015, 09:46
 
Fecha de Ingreso: octubre-2014
Mensajes: 39
Antigüedad: 10 años, 1 mes
Puntos: 0
Problema con service.yml

Estimados, buen día:

Tengo un inconveniente a la hora de declarar un fomulario como servicio para poder usarlo dentro de otro.

Este es mi archivo services.yml
Código:
services:
#    nm10joblog.example:
#        class: NM10\joblogBundle\Example
#        arguments: [@service_id, "plain_value", %parameter%]
    nm10_cliente.form.type.telefono:
        class: NM10\joblogBundle\Form\Type\TelefonoType
        tags:
            - { name: form.type, alias: telefono }
Este es mi Formulario en el que quiero que se inserte el fomulario de telefono

Código:
<?php

namespace NM10\joblogBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;


class ClienteType extends AbstractType
{
    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('nombre')
            ->add('apellido')
            ->add('calle')
            ->add('numero')
            ->add('piso')
            ->add('depto')
            ->add('telefono','telefono')
        ;
    }
    
    /**
     * @param OptionsResolverInterface $resolver
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'NM10\joblogBundle\Entity\Cliente',
            'cascade_validation' => true,
        ));
    }

    /**
     * @return string
     */
    public function getName()
    {
        return 'nm10_joblogbundle_cliente';
    }
}
Este es el fomulario de telefono

Código:
<?php

namespace NM10\joblogBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;

class TelefonoType extends AbstractType
{
    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('numero')
        ;
    }
    
    /**
     * @param OptionsResolverInterface $resolver
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'NM10\joblogBundle\Entity\Telefono'
        ));
    }

    /**
     * @return string
     */
    public function getName()
    {
        return 'nm10_joblogbundle_telefono';
    }
}
Y este es el error que me indica symfony:

"Attempted to load class "TelefonoType" from namespace "NM10\joblogBundle\Form\Type".
Did you forget a "use" statement for another namespace?"


Alguna vez les ha ocurrido algo asi??
Como se podra solucionar?


Saludos.
Gracias.
  #2 (permalink)  
Antiguo 02/03/2015, 10:01
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: Problema con service.yml

Revisa tus namespace tu servicio esta buscando en un lugar donde no existe la clase para ser exacto:
Cita:
NM10\joblogBundle\Form\Type
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 02/03/2015, 13:05
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 10 años, 4 meses
Puntos: 44
Respuesta: Problema con service.yml

Como te dice hhs está buscando la clase en una ruta que no existe. O bien creás el directorio Type y guardas tus forms ahí, o no lo creas y ruteas al formulario sin ese directorio:

Código:
class: NM10\joblogBundle\Form\TelefonoType
Saludos

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:24.