笔记(2) 发表于 2017-09-05 | 分类于 笔记 知识笔记 1.前端的开发方式1234567891011121. 后端渲染(后端直出) 所有的数据都是来源于后台 由后台拼接html结构,发送给浏览器端,由浏览器渲染对应的样式 后台是可以执行html代码的,而html代码是无法执行php代码,会将php代码给注释掉2. 前端渲染 前端渲染页面结构,如果用到了数据,则会向后台发送ajax请求,请求数据, 把请求来的数据,渲染到对应的页面中3. 混合式的开发 现在用的比较多的一种开发方式 既有前端渲染的方式,也有后端渲染的方式 对于每个页面当都共有的部分,可以使用后端渲染的方式 对于 当前页面独有的部分,则是由当前页面自己来渲染 2.网站访问的原理12341. 当我们在浏览器时里面输入网址的时候,浏览器会优先到我们当前计算机的c:/window/System32/drivers/etc/hosts文件 中,查找有没有此域名或是网址对应的IP地址,如果有,则以当前的IP地址所指向的服务器为主。2. 如果没有的话,则会到网络上就近的DNS服务器去查找此域名对应的IP地址,近而找到此IP对应的服务器。3. 每一台计算机都有一个自己的私有IP地址,127.0.0.1.如果安装了apache服务器的话,此IP地址默认就指向c:/wamp/www文 件夹下面的index.php,如果没有index.php的话,则默认的去找index.html,如果都没有的话,则会将当前文件夹下面的 所有的文件显示出来,供你选择。 3.配置自己本地的项目123456789101112131415161718192021222324252627282930313233343536373839配置自己本地的项目:1. 在C:\wamp\bin\apache\Apache2.2.21\conf 下面找到httpd.conf,修改如下内容: #DocumentRoot "c:/wamp/www/" 将原来的删除 掉或是注销 DocumentRoot "F:/myCode" 重新指向一个新的目录 在179行左右 #<Directory "c:/wamp/www/"> 将文件夹的指向注销掉 <Directory "F:/myCode"> 将新创建的文件夹设置一下,在206行左右 # Virtual hosts 再开启虚拟目录 在468行左右 Include conf/extra/httpd-vhosts.conf 将这行代码前面的#去掉2. 到C:\wamp\bin\apache\Apache2.2.21\conf\extra的下面,找到httpd-vhosts.conf,添加如下内容: <VirtualHost *:80> DocumentRoot "c:/wamp/www/jd" // 将启动的根目录指向此文件夹 ServerName jd.com ServerAlias www.jd.com ErrorLog "logs/dummy-host.example.com-error.log" CustomLog "logs/dummy-host.example.com-access.log" common </VirtualHost> <VirtualHost *:80> DocumentRoot "c:/wamp/www/mi" ServerName mi.com ServerAlias www.mi.com ErrorLog "logs/dummy-host.example.com-error.log" CustomLog "logs/dummy-host.example.com-access.log" common </VirtualHost>3. 在C:\Windows\System32\drivers\etc 找到hosts文件,添加域名的指向 127.0.0.1 baidu.com 127.0.0.1 www.baidu.com 127.0.0.1 jd.com 127.0.0.1 www.jd.com 127.0.0.1 taobao.com 127.0.0.1 mi.com 127.0.0.1 www.mi.com4. 使用特定的域名就可以访问到特定的项目文件了。 4.使用其它盘的文件夹做为根目录123456789101112131415161. 在C:\wamp\bin\apache\Apache2.2.21\conf 下面找到httpd.conf,修改如下内容: #DocumentRoot "c:/wamp/www/" 这是原来的启动文件夹 原来的根目录 DocumentRoot "d:/roots" 这是现在的启动文件夹 现在的根目录2. <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow #Deny from all Allow from all 开启权限 </Directory>3. 在207行左右,修改如下内容: #<Directory "c:/wamp/www/"> 将此行代码删除掉或是注释掉 <Directory "d:/roots"> 3. 以后所有的项目文件夹都需要放置在d:/roots文件夹下面4. 其它的配置同上,需要设置hosts文件中的域名和IP的映射,还需要在httpd-vhosts.conf进行虚拟主机的设置 5.设置入口导航123451. 在浏览器里输入studyit.com其实就是访问此根目录下面的index.php或是index.html2. 在浏览器里面输入studyit.com与studyit.com/index.php的效果是一样的,也是查找此根目录下面的index.php3. 因此要想实现在地址栏中输入不同的地址可以访问不同网站的效果的话,需要设置一个入口路由 因此需要新建一个index.php,在此文件内根据用户输入的内容,加载不同的页面返回给浏览器4. 在index.php文件里面,是可以执行html代码的 #6.获取地址栏中index.php后面的信息 12345678910111213141516171819202122 <?php header("Content-type:text/html;charset=utf-8");// echo '这是一个后台语言中的输出信息。。。';// 后台语言是可以加载可是解析html代码 的,可以通过include将html代码引入过来// include '/views/dashboard/index.html';// include '/views/dashboard/login.html';// include '/views/teacher/list.html';// include '/views/user/list.html'; // $_SERVER 可以获取有关服务器的一切信息,其中就包括用户的访问网址 // index.php后面的地址信息,是存在于PATH_INFO这个属性当中的 //echo $_SERVER['PATH_INFO']; //var_dump($_SERVER); $path = $_SERVER["PATH_INFO"]; ///views/dashboard/index include $path.".html"; // 获取用户输入的内容再拼接上.html页面,就可以返回给浏览器供浏览器渲染了 // 此时的index.php就相当于是一个入口路由或是一个路由导航?> 7.通过用户输入的不同域名访问不同的页面1234567891011121314151617181920212223$path = ''; if(array_key_exists('PATH_INFO',$_SERVER)){ // 判断某个数组当中是否有某个属性 array_key_exists() // 用户输入的内容里面有index.php后面的信息的时候,可以用如下的方式进行判断 $path = $_SERVER["PATH_INFO"]; // /views/dashboard/index // string.substr "abc".slice(1) $path = substr($path,1); // js中的切割字符串是split() 而PHP中切割字符中是用explode() $arr = explode('/',$path); if(count($arr) ==2){ // dashboar/index 也就是数组中有两个内容的时候 $path = '/views/'.$path; }else if(count($arr)==1){ // index $path = '/views/dashboard/'.$path; } }else { $path = '/views/dashboard/index'; } //var_dump($arr); // count() include $path.".html"; // 获取用户输入的内容再拼接上.html页面,就可以返回给浏览器供浏览器渲染了 -------------本文结束感谢您的阅读-------------