/// <summary> /// Initializes the console context. /// </summary> public ConsoleContext(string mainscript, string rootPath, Stream output, params string[] args) : base(null) { RootPath = WorkingDirectory = rootPath ?? Directory.GetCurrentDirectory(); // if (output != null) { // use provided output stream InitOutput(output); } else { //Console.OutputEncoding = Encoding.UTF8; //Console.Write("\xfeff"); // bom = byte order mark // use the default Console output stream InitOutput(Console.OpenStandardOutput(), Console.Out); } // Globals InitSuperglobals(); InitializeServerVars(mainscript); InitializeArgvArgc(mainscript, args); if (CurrentPlatform.IsWindows) { // VT100 WindowsPlatform.Enable_VT100(); } // (sometimes??) the Encoding used by Console cannot be resolved by Encoding.GetEncoding(), // register it for sure: Encoding.RegisterProvider(new OSEncodingProvider(Console.OutputEncoding)); }
/// <summary> /// Initializes the console context. /// </summary> public ConsoleContext(string mainscript, string rootPath, Stream output, params string[] args) : base(null) { RootPath = WorkingDirectory = rootPath ?? Directory.GetCurrentDirectory(); // TODO: CLI app configuration from json .setting ? DefaultPhpConfigurationService.Instance.Core.ExecutionTimeout = 0; // default timeout on CLI // if (output != null) { // use provided output stream InitOutput(output); } else { //Console.OutputEncoding = Encoding.UTF8; //Console.Write("\xfeff"); // bom = byte order mark // use the default Console output stream InitOutput(Console.OpenStandardOutput(), Console.Out); } // Constants InitConstants(); // Globals InitSuperglobals(); InitializeServerVars(mainscript); InitializeArgvArgc(mainscript, args); if (CurrentPlatform.IsWindows) { // VT100 WindowsPlatform.Enable_VT100(); } // (sometimes??) the Encoding used by Console cannot be resolved by Encoding.GetEncoding(), // register it for sure: Encoding.RegisterProvider(new OSEncodingProvider(Console.OutputEncoding)); // autoload files AutoloadFiles(); }