我正在尝试将我的CSS迁移到scss以获取PHP应用程序,但我对生成css文件的正确工作流程感到困惑.我正在使用scssphp,它是用PHP编写的scss编译器.
在我的所有页面中,我使用以下样式表:css/mycss.css.我把scss样式表的版本放入了css/scss/mycss.scss.当我对scss文件进行更改时,我通过进入我的浏览器在本地编译它:
localhost/mywebsite/style.php/mycss.scss
Run Code Online (Sandbox Code Playgroud)
该style.php文件如下:
require "vendor/leafo/scssphp/scss.inc.php";
$scss = new scssc();
$directory = "css/scss";
$server = new scss_server($directory,null,$scss);
$server->serve();
Run Code Online (Sandbox Code Playgroud)
这将编译scss文件并将其写入该css/scss/scss_cache文件夹.文件名是一些哈希.这是我的结果目录结构:
style.php
-css
mycss.css
-scss
mycss.scss
-scss_cache
4edf7f7bf9238jdsk9281sjkj32.css
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望编译器覆盖该css/mycss.css文件.有没有办法做到这一点,或者用新编译的css替换原始css文件的正确工作流程是什么?我总是可以随时复制和粘贴,但这看起来效率不高.
我有一个线程,它in从套接字的输入流中读取了BufferedReader 。它在以下所示的while循环中运行。我还有一个out位于单独线程中的PrintWriter 。
/*One thread*/
try {
while ((line = in.readLine()) != null) {
//do stuff
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/*Second thread*/
try {
out.println("stuff");
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
out.close();
}
Run Code Online (Sandbox Code Playgroud)
当用户请求断开连接(正在单独的线程中处理)时,我想安全地关闭正在从流中读取的这些线程。
当我尝试关闭socket(静态变量)时,我相信它也应该关闭输入和输出流。
/*Third thread trying to stop the other threads so it can execute something*/
try {
socket.close();
} catch (IOException …Run Code Online (Sandbox Code Playgroud)