browsersync - Crea un servidor que ejecute PHP con Gulp y Livereload
node.js server (1)
Me gustaría adaptar este código para servir archivos PHP. Tengo MAMP ejecutando un servidor local, pero no puedo entender cómo funciona este código para hacer los cambios necesarios. Sé que el servidor Nodo no interpretará los archivos PHP, pero estoy confundido acerca de esta arquitectura usando serve-static
y serve-index
porque aparentemente no puedo usar una ruta de archivo local dentro del localhost de MAMP para servir esos archivos, ¿verdad? También me pregunto por qué necesita 2 puertos (9000 y 35729).
gulp.task(''connect'', [''styles''], function () {
var serveStatic = require(''serve-static'');
var serveIndex = require(''serve-index'');
var app = require(''connect'')()
.use(require(''connect-livereload'')({port: 35729}))
.use(serveStatic(''.tmp''))
.use(serveStatic(''app''))
.use(''/bower_components'', serveStatic(''bower_components''))
.use(serveIndex(''app''));
require(''http'').createServer(app)
.listen(9000)
.on(''listening'', function () {
console.log(''Started connect web server on http://localhost:9000'');
});
});
gulp.task(''serve'', [''connect'', ''watch''], function () {
require(''opn'')(''http://localhost:9000'');
});
gulp.task(''watch'', [''connect''], function () {
$.livereload.listen();
// watch for changes
gulp.watch([
''app/*.php'',
''.tmp/styles/**/*.css'',
''app/scripts/**/*.js'',
''app/images/**/*''
]).on(''change'', $.livereload.changed);
gulp.watch(''app/styles/**/*.scss'', [''styles'']);
gulp.watch(''bower.json'', [''wiredep'']);
});
Básicamente, quiero usar PHP para plantillas (pie de página, encabezado, etc.) para un sitio web, al igual que esta persona publicada aquí .
Tengo la sensación de que las personas ya no hacen esto, por lo que cualquier sugerencia para el desarrollo de aplicaciones para el usuario con plantillas y elementos estáticos (para una posterior adaptación a WordPress u otro CMS basado en PHP) es bienvenido.
EDITAR
Por favor, lea esto: Gulp-webapp ejecutando BrowserSync y PHP
Utilizo mi instalación PHP nativa como servidor, luego de iniciar este servidor con el complemento ''gulp-connect-php''. No lo utilicé aún con XAMPP / MAMP, pero probablemente solo necesite volver a ubicar el ''bin'' y ''ini'' en la instalación de PHP de XAMPP / MAMP. Pero no tengo una solución sobre cómo puede conectar Gulp con su base de datos.
''gulp-connect-php'' plugin:
https://www.npmjs.com/package/gulp-connect-php
var gulp = require(''gulp''),
livereload = require(''gulp-livereload''),
connectPHP = require(''gulp-connect-php'');
gulp.task(''connect'', function() {
connectPHP.server({
hostname: ''0.0.0.0'',
bin: ''C:/php/php.exe'',
ini: ''C:/php/php.ini'',
port: 8000,
base: ''dev'',
livereload: true
});
});
Gulp Connect solo puede iniciar un servidor de nodo (si no estoy equivocado).
El puerto 35729 es javascript de carga en vivo que debe colocar en la parte inferior de sus archivos PHP, HTML, donde coloca sus otros scripts. Grunt también usa el mismo código:
<script src="//localhost:35729/livereload.js"></script>
El puerto 9000 probablemente sea el puerto definido para el servidor Gulp Connect.