PDF de programación - yii Framework

Imágen de pdf yii Framework

yii Frameworkgráfica de visualizaciones

Publicado el 27 de Abril del 2021
429 visualizaciones desde el 27 de Abril del 2021
392,6 KB
11 paginas
Creado hace 12a (16/10/2011)
V Jornadas Nacionales de Soberanía Tecnológica

JORNASTEC



Por: Lenin Hernandez
Lenin Hernandez

¿Framework de Desarrollo?

Un Framework es un conjunto de codigo,
librerías y
componentes probados y optimizados para facilitar y agilizar el
desarrollo de aplicaciones, basado en mejores prácticas de
desarrollo, que nos permitirán trabajar de forma uniforme,
organizada y con la mayor calidad posible. Normalmente
cuentan con documentación, una comunidad que lucha por su
desarrollo y mantenimiento.

- Yii (PHP) - yiiframework.com
- Symfony (PHP)- symfony-project.org
- CakePHP (PHP) - cakephp.org
- CodeIgniter (PHP) – codeigniter.com
- Ruby on Rails (Ruby) – rubyonrails.org
- Catalyst (Perl) – catalystframework.org
- Django (Python) - djangoproject.com



Yii Framework

- Generación de CRUD → Create, Read, Update and Delete y más...
- Urls Amigables → jornastec.org.ve/sedes-2/distrito-capital/
- Seguridad → Inyección SQL, Cross-site Scripting, etc...
- Sistema de Cache, de session
- Extenciónes Soportadas y de terceros
- Scaffolding → crear un módulo entero basado en la descripción de una
tabla de la base de datos
- Mapeo Objeto Relacional → ORM Object-Relational mapping
- MVC → Modelo - Vista - Controlador



Yii Framework

Yii es un framework generico de programación Web que puede
ser utilzado para todo tipo de aplicaciones Web. Gracias a que
es liviano de correr y está equipado con soluciones de cacheo
sofisticadas, es adecuado para desarrollar aplicaciones de grán
tráfico como portales, foros, sistemas de administración de
contenidos (CMS), Sistemas de comercio electrónico (e-
commerce), etc. yiiframework.com

- Simple, Sencillo, Humilde.
- Curva de Aprendizaje no es empinada.
- Esta hecho para funcionar por defecto.
- Rápido (Puesta en Marcha y aplicación).



¿Que Necesitamos?

aptitude install apache2 php5 php5-cli postgresql-8.4 php5-pgsql pgadmin3

1- Descargar, Descomprimir.
2- www$yii/framework/yiic webapp tu_sistema
3- chmod -R 777 tu_sistema → ojo en un servidor nunca colocar esta permisologia
4- http://localhost/tu_sistema

Si es todo lo que necesitamos

comenzar con Yii,



simple verdad como Yii



Configurando

Archivo de configuración: /protected/config/main.php

- Habilitar GII - GiiModule is un modulo que proveee una interfaz Web con capacidad de
generación de codigo: localhost/tu_sistema/index.php?r=gii
- Comentar la base de datos por defecto y agregar la nuestra
- Agregar al final del archivo:

'language'=>'es',
'sourceLanguage'=>'en',
'defaultController'=>'tu_modulo/admin',

Agregar usuarios: /protected/components/UserIdentity.php
Pagina Principal: /protected/views/layouts/main.php
<link rel="shortcut icon" href="<?php echo Yii::app()->request->baseUrl; ?
>/images/icon.png" type="image/x-icon" />
<img src="<?php echo Yii::app()->request->baseUrl; ?>/images/jornastec.png" />



Ajustando Formularios

/protected/view/nombre_modelo/_form.php

Relaciones en formularios:

Reemplezar:
<?php //echo $form->textField($model,'ocupacion'); ?>
Por:
<?php echo $form->dropDownList($model, 'ocupacion',
CHtml::listData(Ocupacion::model()->findAll(), 'id_ocupacion', 'descripcion'), array('prompt' => 'Seleccione Ocupación') ); ?>

Combos no vinculados a base de datos

echo $form->dropDownList($model,'sexo',array('M'=>'Masculino','F'=>'Femenino'), array('options' =>
array('2'=>array('selected'=>true))));

//echo $form->textField($model,'fecha_nacimiento');
$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'model'=>$model,
'attribute'=>'fecha_nacimiento',
'value'=>$model->fecha_nacimiento,
'language' => 'es',
'htmlOptions' => array('readonly'=>"readonly"),
'options'=>array(
'autoSize'=>true,
'defaultDate'=>$model->fecha_nacimiento,
'dateFormat'=>'dd-mm-yy',
'buttonImage'=>Yii::app()->baseUrl.'/images/calendar.png',
'buttonImageOnly'=>true,
'buttonText'=>'Fecha',
'selectOtherMonths'=>true,
'showAnim'=>'slide',
'showButtonPanel'=>true,
'showOn'=>'button',
'showOtherMonths'=>true,
'changeMonth' => 'true',
'changeYear' => 'true',
//'minDate'=>'-50Y', //fecha minima
'maxDate'=> 'date("Y-m-d")',
//fecha maxima
),



Fechas seleccionables



Agregando Extenciones
/protected/extensions Agregaremos PDF's al sistema
Agregar carpeta de extencion. Usaremos MPDF

En el Controller: protectecd/controller/ModuloController.php

Agregar

));

}

public function actionPdf($id)
{

$this->render('pdf',array(

'model'=>$this->loadModel($id),

Y Permitir ser visto:

'actions'=>array('index','view','pdf'),

En las vistas:
Agregar el icono del PDF en el admin

array(

'class'=>'CButtonColumn',
'template' => '{view} {update} {delete} {pdf}',
'buttons'=>array(
'pdf' => array(
'label'=>'Generar PDF',
'url'=>"CHtml::normalizeUrl(array('pdf', 'id'=> \$data->id_persona))",
'imageUrl'=>Yii::app()->request->baseUrl.'/images/pdf.png',
'options' => array('class'=>'pdf'),
),
),
),
Crear pdf.php
Y colocar:
<?php
$pdf = Yii::createComponent('application.extensions.MPDF52.mpdf');
$this->breadcrumbs=array(

'Personas'=>array('index'),
$model->id_persona,

);
$html = '
<link rel="stylesheet" type="text/css" href="'.Yii::app()->request->baseUrl.'/css/pdf.css" />
Htmllll '.$model->nombre.' '.$model->apellido.'</b><br>';
$mpdf=new mPDF();
$mpdf->WriteHTML($html);

$mpdf->Output();
exit;



Subir Imagen

En los formularios: /protected/view/nombre_modelo/_form.php

Reemplezar:
<?php echo $form->textField($model,'foto',array('size'=>60,'maxlength'=>200)); ?>
Por:
<?php echo $form->fileField($model,'foto',array('size'=>25)); ?>

En el controlador: /protected/controllers/NombreController.php

Agregar en actionCreate y actionUpdate:
$model->foto = CUploadedFile::getInstance($model, 'foto');
$model->foto->saveAs(Yii::app()->basePath.'/../images/'.$model->foto);
Quedaria asi:

public function actionUpdate($id)
{

$model=$this->loadModel($id);

// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);

if(isset($_POST['Persona']))
{

$model->attributes=$_POST['Persona'];
$model->foto = CUploadedFile::getInstance($model, 'foto');
$model->foto->saveAs(Yii::app()->basePath.'/../images/'.$model->foto);

if($model->save())

$this->redirect(array('view','id'=>$model->id_persona));

}

$this->render('update',array(

'model'=>$model,

));

}

En las vistas: /protected/views/view.php y _view.php

<img src="<?php echo Yii::app()->request->baseUrl.'/images/'.CHtml::encode($data->foto); ?>" >

Ver la imgen en el listado: /protected/views/admin.php
array('name'=>'foto','sortable'=>'true',
'header'=>'Fotico', 'type'=>'image',
'value'=>'"images/" . $data->foto',
'htmlOptions'=>array('style'=>'text-align: center'),
),



Dudas, Preguntas,

Sugerencias???



Por: Lenin Hernandez
Lenin Hernandez

Gracias Totales!!!

Lenin Hernandez
Lenin Hernandez
[email protected]
[email protected]
Twitter: @leninmhs
Twitter: @leninmhs
  • Links de descarga
http://lwp-l.com/pdf19133

Comentarios de: yii Framework (1)

putin
11 de Enero del 2023
estrellaestrellaestrellaestrellaestrella
chinguen su puta madre
Responder

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad