La integración de Vuejs para PHP Frameworks PHP-VueJS agrega VueJS a cualquier proyecto PHP , podría ser nativo o incluso proyectos PHP Framework
La forma recomendada de usar esta biblioteca es usar Composer , ejecute este comando desde el directorio donde se encuentra composer.json
composer require phpmv/php-vuejsAdministra todo el script inyectado, debes instanciarlo
$ vueManager = VueManager:: getInstance ();Métodos Vuemanager
$ vue = new VueJs ();Argumentos de Vuejs
Métodos Vuejs
$ component = new VueJSComponent ( ' component-one ' );Argumento de vuejscomponent
El nombre del componente debe respetar el principio de Kebab-Case, si no proporciona un nombre de variable, se convertiría en Pascalcase
VuejsComponent Methods
$ object -> addData ( ' name ' , true );
$ object -> addDataRaw ( ' name ' , ' true ' );AddData, Adddataraw Arguments
Estas dos líneas de código generan exactamente los mismos datos de Vue
data: { "name" : true } $ object -> addMethod ( ' greet ' , ' window.alert(`Hello ${name}`); ' ,[ ' name ' ]);argumentos addmethod
Esto generará el contenido a continuación
methods: {
"greet" :
function ( name ) {
window . alert ( `Hello ${ name } ` ) ;
}
} $ object -> addComputed ( ' reversedMessage ' , " return this.message.split('').reverse().join(''); " );AddComputed Arguments
Esto generará el contenido a continuación
computeds: {
reversedMessage :
function ( ) {
return this . message . split ( '' ) . reverse ( ) . join ( '' ) ;
}
}Aquí hay un ejemplo con Getter y Setter
$ object -> addComputed (
' fullName ' ,
" return this.firstName+' '+this.lastName " ,
" this.firstName=v[0];this.lastName=v[1] " );Este código genera este contenido
computeds: {
fullName : {
get : function ( ) {
return this . firstName + ' ' + this . lastName
} ,
set : function ( v ) {
this . firstName = v [ 0 ] ;
this . lastName = v [ 1 ]
}
}
} $ object -> addWatcher (
" title " ,
" console.log('Title change from '+ oldTitle +' to '+ newTitle) " ,
[ ' newTitle ' , ' oldTitle ' ]);argumentos addwatcher
Esto genera el contenido a continuación
watch: {
"title" :
function ( newTitle , oldTitle ) {
console . log ( 'Title change from ' + oldTitle + ' to ' + newTitle )
}
}Estos son todos los métodos disponibles para ejecutar una función en un ciclo de vida dado.
Todos los ganchos funcionan de la misma manera, el ejemplo debajo se puede aplicar para cada ganchos
argumentos de ganchos
$ object -> onCreated ( " console.log('Page has been created !'); " );Esto genera el contenido a continuación
created:
function ( ) {
console . log ( 'Page has been created !' ) ;
}AddIrective, AddGlobalDirective Arguments
$ object -> addDirective ( ' focus ' ,[ ' inserted ' => " el.focus() " ]);Esto genera el contenido a continuación
directives: {
focus : {
inserted :
function ( el , binding , vnode , oldVnode ) {
el . focus ( )
}
}
} $ vueManager -> addGlobalDirective ( ' focus ' ,[ ' inserted ' => " el.focus() " ]);Esto genera el contenido a continuación
Vue . directive ( 'focus' , {
inserted :
function ( el , binding , vnode , oldVnode ) {
el . focus ( )
}
} ) ;AddFilter, AddGlobalFilter Arguments
$ object -> addFilter (
' capitalize ' ,
" if(!value){ "
. " return ''; "
. " } "
. " value = value.toString(); "
. " return value.charAt(0).toUpperCase() + value.slice(1); " ,
[ " value " ]);Esto genera el contenido a continuación
filters: {
capitalize : function ( value ) {
if ( ! value ) { return '' ; }
value = value . toString ( ) ;
return value . charAt ( 0 ) . toUpperCase ( ) + value . slice ( 1 ) ;
}
} $ vueManager -> addGlobalFilter (
' capitalize ' ,
" if(!value){ "
. " return ''; "
. " } "
. " value = value.toString(); "
. " return value.charAt(0).toUpperCase() + value.slice(1); " ,
[ " value " ]);Esto genera el contenido a continuación
Vue . filter ( 'capitalize' ,
function ( value ) {
if ( ! value ) { return '' ; }
value = value . toString ( ) ;
return value . charAt ( 0 ) . toUpperCase ( ) + value . slice ( 1 ) ;
} ) ;AddComponent, AddGlobalComponent, ImportComponentObject argumentos
$ component = new VueJSComponent ( ' component-one ' );
$ component -> addData ( ' framework ' , ' ubiquity ' );
$ vue -> addComponent ( $ component );Esto genera el contenido a continuación
components: { "component-one" : ComponentOne } $ component = new VueJSComponent ( ' component-one ' );
$ component -> addData ( ' framework ' , ' ubiquity ' );
$ vueManager -> importComponentObject ( $ component );Esto genera el contenido a continuación
const ComponentOne = {
data :
function ( ) {
return { framework : "ubiquity" }
}
} ; $ component = new VueJSComponent ( ' component-one ' );
$ component -> addData ( ' framework ' , ' ubiquity ' );
$ vueManager -> addGlobalComponent ( $ component );Esto genera el contenido a continuación
Vue . component ( 'component-one' , {
data :
function ( ) {
return { framework : "ubiquity" }
}
} ) ;Addmixin, AddGlobalMixin Argumento
$ mixin = new VueJSComponent ( ' mixin-one ' );
$ mixin -> addData ( ' framework ' , ' ubiquity ' );
$ vue -> addMixin ( $ mixin );Esto genera el contenido a continuación
mixins: [ MixinOne ] $ mixin = new VueJSComponent ( ' mixin-one ' );
$ mixin -> addData ( ' framework ' , ' ubiquity ' );
$ vueManager -> addGlobalMixin ( $ mixin );Esto genera el contenido a continuación
Vue . mixin ( {
data :
function ( ) {
return { framework : "ubiquity" }
}
} ) ;addGlObalExtend, extiende el argumento
$ component = new VueJSComponent ( ' component ' );
$ componentOne = new VueJSComponent ( ' component-one ' );
$ componentOne -> addData ( ' framework ' , ' ubiquity ' );
$ componentOne -> extends ( $ component );
$ vueManager -> addGlobalComponent ( $ componentOne );Esto genera el contenido a continuación
extends: "Component" $ extend = new VueJSComponent ( ' extend-one ' );
$ extend -> addData ( ' framework ' , ' ubiquity ' );
$ vueManager -> addGlobalMixin ( $ extend );Esto genera el contenido a continuación
Vue . extend ( {
data :
function ( ) {
return { framework : "ubiquity" }
}
} ) ;argumentos addglobalobservables
$ vueManager -> addGlobalObservable ( " state " , [ " count " => 0 ]);Esto genera el contenido a continuación
const state = Vue . observable ( { count : 0 } ) ; Para habilitar axios
$ vueManager -> setAxios ( true );Para habilitar setinheritattrs
$ component -> setInheritAttrs ( true );argumentos setmodel
$ component -> setModel ( ' checked ' , ' change ' );argumento addVue
$ vueManager -> addVue ( $ vue );