sábado, 25 de julio de 2020

Laravel & vue reload / refresh data con timer

No hay comentarios.:
No se si es la solucion correcta, pero asi lo solucione yo. Paso 1 - Nuevo proyecto / Ejecutar proyect
laravel new test_tick
cd test_tick
php artisan serve

Paso 2: Instalar Vue (en otra ventana)
cd test_tick
composer require laravel/ui
php artisan ui vue

Paso 3 : Instalar moment
npm install
npm run watch

Paso 4 : Desarollando el tick
Abrimos el archivo resources/js/components/ExampleComponent.vue
Vamos hacer el metodo llenar se ejecute cada 5 segundos.
<template>
    <div class="container">
        <div class="row justify-content-center">
            <div class="col-md-8">
                <div class="card">
                    <div class="card-header">Example Component</div>
 
                    <div class="card-body">
                        Fecha: {{fecha}}
                    </div>
                </div>
            </div>
        </div>
    </div>
</template>
 
<script>
    export default {
        data(){
            return {
                fecha: new Date(),
            }
        },
        mounted() {
            console.log('Component mounted.')
            this.llenar();
        },//timer
        beforeDestroy () {
            clearInterval(this.intervalid1)
        },
        created() {
            setInterval(this.llenar, 30000);
        },//fin timer
         methods:{
            llenar(){
                this.fecha= new Date();
                console.log (this.fecha);
            },
        }
    }
</script>
 

Paso 5 : Habilitando VUE en Laravel Para este ejemplo vamos a reemplazar la vista resources/views/welcome.blade.php con el siguiente contenido.
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
 
        <title>Laravel</title>
        <!-- Scripts -->
        <script src="{{ asset('js/app.js') }}" defer></script>
 
    </head>
    <body>
        <div id="app">
            <example-component></example-component>
        </div>
    </body>
</html>

Ver

miércoles, 22 de julio de 2020

Instalar moment en Laravel & vue

No hay comentarios.:

Instalando Moment


Paso 1 - Nuevo proyecto / Ejecutar proyect
laravel new test_fechas
cd test_fechas
php artisan serve

Paso 2: Instalar Vue (en otra ventana)
cd test_fechas
composer require laravel/ui
php artisan ui vue
Paso 3 : Instalar moment
npm install
npm install --save vue-moment
npm run watch

Paso 3: Configurando moment
En archivo resources/js/app.js arriba de la seccion app agregamos.
/* moment */
import moment from 'moment'
import 'moment/locale/es';
Vue.prototype.moment = moment
Vue.use(require('vue-moment'));

const app = new Vue({
    el: '#app',
});

Paso 4: Testing Moment
Abrimos el archivo resources/js/components/ExampleComponent.vue
<template>
    <div class="container">
        <div class="row justify-content-center">
            <div class="col-md-8">
                <div class="card">
                    <div class="card-header">Example Component</div>

                    <div class="card-body">
                        {{moment(fecha).format('dddd, Do MMMM YYYY, h:mm:ss a')}}
                    </div>
                </div>
            </div>
        </div>
    </div>
</template>

<script>
    export default {
        mounted() {
            console.log('Component mounted.')
        },
        data(){
            return {
                fecha: new Date()
            }
        },
    }
</script>

Paso 5: Desplegando el Componente Para este ejemplo vamos a reemplazar la vista resources/views/welcome.blade.php con el siguiente contenido.
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Laravel</title>
        <!-- Scripts -->
        <script src="{{ asset('js/app.js') }}" defer></script>

    </head>
    <body>
        <div id="app">
            <example-component></example-component>
        </div>
    </body>
</html>

Resultado final


 

Ver

martes, 10 de marzo de 2020

Cómo instalar OCI8 en Ubuntu 18.04 y PHP 7.2

No hay comentarios.:

Fuente: https://gist.github.com/Yukibashiri/cebaeaccbe531665a5704b1b34a3498e



Instale Oracle Instant Client y SDK


Paso 1

Descargue Oracle Instant Client y SDK del sitio web de Oracle. (Necesita iniciar sesión en la página de Oracle)

http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

Descargar

  • Instant Client Package - Basic
  • Instant Client Package - SDK
  • Instant Client Package - Sql Plus (Opcional)
  • Paso 2

    Cree una nueva carpeta para almacenar archivos zip de Oracle Instant Client en su servidor.

        sudo mkdir /usr/lib/oracle
        sudo mkdir /usr/lib/oracle/12.2
        sudo mkdir /usr/lib/oracle/12.2/client64
    

    Paso 3

    Ahora necesitamos extraer los archivos.

        sudo cp instantclient-basic-linux.x64-12.2.0.1.0.zip /usr/lib/oracle/12.2/client64
        sudo cp instantclient-sdk-linux.x64-12.2.0.1.0.zip /usr/lib/oracle/12.2/client64
        sudo cp instantclient-sqlplus-linux.x64-12.2.0.1.0.zip /usr/lib/oracle/12.2/client64
    
        cd /usr/lib/oracle/12.2/client64
    
        sudo unzip instantclient-basic-linux.x64-12.2.0.1.0.zip
        sudo unzip instantclient-sdk-linux.x64-12.2.0.1.0.zip
        sudo unzip instantclient-sqlplus-linux.x64-12.2.0.1.0.zip
    
        sudo mv instantclient_12_2 lib
        
    

    Paso 4

    A continuación, necesitamos crear un enlace simbólico a los archivos de Instant Client.

        cd /usr/lib/oracle/12.2/client64/lib/
        sudo ln -s libclntsh.so.12.1 libclntsh.so
        sudo ln -s libocci.so.12.1 libocci.so
    

    Otra opcion para este mismo paso

        ln -s /usr/lib/oracle/12.2/client64/lib/libclntsh.so.12.1 /usr/lib/oracle/12.2/client64/lib/libclntsh.so
        ln -s /usr/lib/oracle/12.2/client64/lib/libocci.so.12.1 /usr/lib/oracle/12.2/client64/lib/libocci.so
    

    Paso 5

    Agregue la carpeta a nuestro ldconfig.
        sudo su -
        echo /usr/lib/oracle/12.2/client64/lib > /etc/ld.so.conf.d/oracle.conf
    

    Paso 6

    Actualice los enlaces de tiempo de ejecución de Dynamic Linker

        ldconfig
    

    Hecho. Ahora podemos pasar a la siguiente parte.


    Instalar paquetes adicionales


    Para instalar la extensión OCI8, necesitamos instalar algún paquete adicional en nuestro servidor.

    Paso 1

    Ejecute estos comandos:

        sudo apt-get install php-dev php-pear build-essential libaio1
    

    Paso 2

    Una vez instalado, necesitamos obtener el archivo OCI8. Pero, antes de eso, necesitamos actualizar el canal PECL.

        sudo pecl channel-update pecl.php.net
    

    Luego instalaremos oci8

        sudo pecl install oci8
    

    Cuando se le solicite la ubicación del Instant Client, ingrese lo siguiente:

        instantclient,/usr/lib/oracle/12.2/client64/lib
    

    Al finalizar deberia mostrar:

        Build process completed successfully
        Installing '/usr/lib/php/20170718/oci8.so'
        install ok: channel://pecl.php.net/oci8-2.2.0
        configuration option "php_ini" is not set to php.ini location
        You should add "extension=oci8.so" to php.ini
    

    Paso 3

    Necesitamos decirle a PHP que cargue la extensión OCI8.

        sudo su -
        sudo echo "extension=oci8.so" >> /etc/php/7.2/fpm/php.ini
        echo "extension=oci8.so" >> /etc/php/7.2/cli/php.ini
    

    Paso 4

    Actualiza el servidor.

        sudo shutdown -r now
    
        sudo service php7.2-fpm restart
    

    Hasta aqui funciona el cli pero no fpm


    Configurar fpm


    Paso 1

    cd /etc/php/7.2/mods-available/
    sudo touch oci.ini
    sudo vi oci.ini
    
    agregaar a oci.ini
        extension = oci8.so
    

    Paso 2

    Ahora cree un enlace simbólico como este:

        cd /etc/php/7.2/fpm/conf.d
        sudo ln -s /etc/php/7.2/mods-available/oci.ini 20-oci.ini
    

    Paso 3

    Actualiza el servidor.

        sudo shutdown -r now
    
        sudo service php7.2-fpm restart
    

    Paso 4

    Ahora crea un archivo php info

        
        cd /var/www/html/
        sudo touch info.php
        sudo vi info.php
    

    agregar a info.php

        <?php
            phpinfo();
    

    Deberia mostrar la seccion oci

        oci8
        OCI8 Support enabled
        OCI8 DTrace Support disabled
        OCI8 Version 2.2.0
        Oracle Run-time Client Library Version 12.2.0.1.0
        Oracle Compile-time Instant Client Version 12.2
    

    Configurar Sqlplus (opcional)


    Paso 1

    Agregando rutas al .bashrc

        cd $h
        vi .bashrc
    

    Agregar

    export ORACLE_HOME=/usr/lib/oracle/12.1/client64
    export TNS_ADMIN=/usr/lib/oracle/12.1/client64/network/admin
    export PATH=$PATH:$ORACLE_HOME/lib
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    export EDITOR=vi
    

    Paso 2

    Crear el archivo tnsnames.ora

        cd /usr/lib/oracle/12.2/client64
        sudo mkdir /usr/lib/oracle/12.2/client64/network
        sudo mkdir /usr/lib/oracle/12.2/client64/network/admin
        cd /usr/lib/oracle/12.2/client64/network/admin
        sudo touch tnsnames.ora
        sudo vi tnsnames.ora
    

    Agregar

    orcl =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
         )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        )
      )
    

    Por ultimo vamos a probar

        sqlplus system/system@orcl
    
    Ver