2014-12-02 13 views
5

Chciałbym dostosować ten kod do obsługi plików PHP. Mam MAMP z uruchomionym serwerem lokalnym, ale nie wiem, jak działa ten kod, aby wprowadzić niezbędne zmiany. Wiem, że serwer Node nie będzie interpretował plików PHP, ale jestem zdezorientowany tą architekturą przy użyciu serve-static i serve-index, ponieważ podobno nie mogę po prostu użyć lokalnej ścieżki do pliku w lokalnym hoście MAMP, aby móc serwować te pliki, prawda? Zastanawiam się również, dlaczego potrzebuje 2 porty (9000 i 35729).Utwórz serwer, który uruchamia PHP z Gulp i Livereload

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']); 
}); 

Zasadniczo chcę używać szablonów dla PHP (stopka, nagłówek, etc) na stronie internetowej, podobnie jak this person posted here.

Mam wrażenie, że ludzie już tego nie robią, więc wszelkie sugestie dotyczące rozwoju front-endu za pomocą zasobów statycznych i szablonów (w celu późniejszej adaptacji do WordPressa lub innego CMS opartego na PHP) są mile widziane.

EDIT

Proszę przeczytać to: Gulp-webapp running BrowserSync and PHP

Odpowiedz

2

mogę używać mojego natywną instalację PHP jako serwer, niż ja odpalić ten serwer z pluginem 'łyk-connect-php'. Nie używałem go jeszcze z XAMPP/MAMP, ale prawdopodobnie wystarczy ponownie zlokalizować "bin" i "ini" w instalacji PHP XAMPP/MAMP. Ale nie mam rozwiązania, jak połączyć Gulp z bazą danych.

'łyk-connect-php' wtyczki:

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 Połącz tylko można uruchomić serwera Node (jeśli nie jestem źle).

Port 35729 jest przeznaczony do obsługi javascript livereload, który należy umieścić na dole pliku PHP, HTML, gdzie można umieścić inne skrypty. Grunt również używa tego samego kodu:

<script src="//localhost:35729/livereload.js"></script> 

Prawdopodobnie port 9000 jest portem zdefiniowanym dla serwera Gulp Connect.

+0

To jest dobra wtyczka! Niestety nie byłem w stanie dostosować go do innych przepływów pracy, takich jak ten, o którym wspomniałem. Napisałem również ten nowy wątek, który jest bardzo podobny, z tym wyjątkiem, że używa BrowserSync zamiast: http://stackoverflow.com/questions/27990781/gulp-webapp-running-browsersync-and-php – zok

Powiązane problemy