在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):micahblu/gulp-connect-php开源软件地址(OpenSource Url):https://github.com/micahblu/gulp-connect-php开源编程语言(OpenSource Language):JavaScript 95.1%开源软件介绍(OpenSource Introduction):gulp-connect-phpREQUIRES NODE 4 OR GREATER
This is pretty much a gulp version of @sindresorhus's grunt-php and acts as a basic version drop-in replacement for gulp-connect, though please note not all features from gulp-connect are supported with gulp-connect-php. I am open to supporting other features and pull requests that implement them. Uses the built-in server in PHP 5.4.0+. Install$ npm install --save-dev gulp-connect-php UsageAs a Singletonvar gulp = require('gulp'),
connect = require('gulp-connect-php');
gulp.task('connect', function() {
connect.server();
});
gulp.task('default', ['connect']); As an Instancevar gulp = require('gulp'),
connect = require('gulp-connect-php');
let server = new connect();
gulp.task('connect', function() {
server.server();
});
gulp.task('disconnect', function() {
server.closeServer();
});
gulp.task('default', ['connect', 'disconnect']); ExamplesUse it with Browser Syncvar gulp = require('gulp'),
connect = require('gulp-connect-php'),
browserSync = require('browser-sync');
gulp.task('connect-sync', function() {
connect.server({}, function (){
browserSync({
proxy: '127.0.0.1:8000'
});
});
gulp.watch('**/*.php').on('change', function () {
browserSync.reload();
});
}); Advanced Option Manipulationgulp.task('connect', function() {
connect.server({
configCallback: function _configCallback(type, collection) {
// If you wish to leave one of the argument types alone, simply return the passed in collection.
if (type === connect.OPTIONS_SPAWN_OBJ) { // As the constant suggests, collection is an Object.
// Lets add a custom env var. Good for injecting AWS_RDS config variables.
collection.env = Object.assign({
MY_CUSTOM_ENV_VAR: "env_var_value"
}, process.env);
return collection;
} else if (type === connect.OPTIONS_PHP_CLI_ARR) { // As the constant suggests, collection is an Array.
let newArgs = [
'-e', // Generate extended information for debugger/profiler.
'-d', 'memory_limit=2G' // Define INI entry, Up memory limit to 2G.
];
// Ensure our argument switches appear before the rest.
return newArgs.concat(collection);
}
}
}, function _connected_callback() {
console.log("PHP Development Server Connected.");
});
});
gulp.task('disconnect', function() {
connect.closeServer();
});
gulp.task('default', ['connect', 'disconnect']); Windows (via Batch file)Windows Batch file execution via a
Scenario
Contents of php.bat@echo off
REM We specify the whole path to PHP since the working directory is that of gulp...
REM unless we also changed that in our gulp callback.
C:\Users\mainuser\Applications\PHP\7.0.17-NTS-VC14\php.exe %* Contents of our gulp taskgulp.task('connect', function _gulp_connect_task() {
connect.server({
configCallback: function _configCallback(type, collection) {
if (type === connect.OPTIONS_SPAWN_OBJ) {
// Windows Batch files are NOT executable on their own. This will start a shell
// session then execute.
collection.shell = true;
return collection;
}
}
}, function _connected_callback() {
console.log("PHP Development Server Connected.");
});
});
gulp.task('default', ['connect']); OptionsportType: The port on which you want to access the webserver. Task will fail if the port is already in use. hostnameType: The hostname the webserver will use. Use baseType: From which folder the webserver will be served. Defaults to the directory of the gulpfile. openType: Open the server in the browser when the task is triggered. routerType: Optionally specify the path to a router script that is run at the start of each HTTP request. If this script returns Example router script: <?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false; // serve the requested resource as-is
} else {
echo "<p>Thanks for using gulp-connect-php :)</p>";
}
?> binType: Path to the PHP binary. Useful if you have multiple versions of PHP installed. iniType: Path to a custom stdioType: Node's stdio parameter, set it to configCallbackType: Prototype:
Default: Allows the caller to modify the debugType: Enables debugging of the spawn call and its parameters. BuildingThis package comes with a NPM run-script command called LicenseMIT © Micah Blu |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论