




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、laravel-藝術(shù)家的框架作者:西嶺博客:xilinglaoshi出自:布爾教育-高級PHP工程師培訓(xùn)第1章 如何安裝laravel1.1 四種安裝方法我們該如何安裝 laravel, 網(wǎng)上你大概能找到4種方法,但你不要去死記.而是要從原理推出:完整的 laravel = laravel本身 + composer指定的依賴庫所以你至少可以有這4種辦法 :1. 用composer create-project 命令自動laravel, 同時自動安裝依賴庫composer create-project laravel/laravel=5.1.1 項目名稱2. 手動laravle 本身 ,comp
2、oser 安裝依賴庫 (半自動化)3.laravel,再到項目目錄下,執(zhí)行composer install;別人幫拼裝好的laravel本身+composer中指定的庫,不需要安裝composer;在這 :此方法的局限性在于,如果項目過程中需要其他的庫,還是需要composer安裝;4.larvel 安裝器,可以幫你完成這兩步(強(qiáng)烈不推薦,麻煩而且不認(rèn)識國內(nèi)鏡像源)# “l(fā)aravel ” ( laraval ) composer global require "laravel/installer"-cd /usr/local/nginx/html/.composer/ve
3、ndor/bin/laravel new <you appName>1.2 配置虛擬主機(jī)注意,項目路徑在public下修改虛擬主機(jī)配置文件,添加如下代碼:<VirtualHost *:80>DocumentRoot "D:/www/<project>/public" ServerName </VirtualHost>修改hosts文件: 第2章 路由器任何框架都離不開路由器,TP是通過地址欄規(guī)則生成,如:.com/home/user/add;2.1 路由器如何調(diào)用器laravel 的路由器與文件中明確定義.格
4、式如下 :器的關(guān)系,需要明確的在/app/Http/routes.php/* GET , XxController reg() .*/Route:get('/yy', 'XxControllerreg');/* POST , XxController pay() .*/Route:post('/zz', 'XxControllerpay');/* GET "/" ,2 .*/Route:get('/', function () return 'hello')/*GETPOST ,
5、 XxController method() .*/Route:match('get','post' , '/user' , 'XxControllermethod')/*GET,POST,PUT,DELETE. 2 .*/Route:any('/foo/bar', function () return 'Hello World');注意 : 如果同一個路由被寫了2次,則以最后一次路由為準(zhǔn) !2.2 路由器與參數(shù)傳遞/* URL,user ,*/Route:get('user/id'
6、, function ($id) return 'User '.$id;);/* URL,cat page , */Route:get('cat/cat/page/page', function ($catid, $pageid) return $catid.$pageid;);如果沒有傳遞參數(shù),則會報錯;2.3 傳遞可選參數(shù)在路由 參數(shù) 的花括號最后 加上 ?(問號) 即可Route:get('user/name?', function ($name = null) return $name;);Route:get('user/name
7、?', function ($name = 'John') return $name;);2.4 參數(shù)限制在 TP 中,自動驗(yàn)證寫在 M里,不夠靈活. laravel把參數(shù)限制寫在方法或者路由中.普通形式:->where('要限制的參數(shù)名','限制規(guī)則(正則,不用斜線/)');數(shù)組形式:->where('要限制的參數(shù)名1'=>'限制規(guī)則1(正則,不用斜線/)','要限制的參數(shù)名2'=>'限制規(guī)則2(正則,不用斜線/)');Route:get('
8、user/name', function ($name) /)->where('name', 'A-Za-z+'); Route:get('user/id', function ($id) /)->where('id', '0-9+');Route:get('user/id/name', function ($id, $name) /)->where('id' => '0-9+', 'name' => 'a
9、-z+');注意 : 路由參數(shù)不能包含中橫線 "-",參數(shù)會被理解為變量名,所以不能有'-',下劃線是可以滴;第3 章器器放在哪兒?叫什么 ?器放在'/app/Http/Controllers' 目錄下文件名 : XxController.php例 : UserController.php注意 : 單詞首字母大寫 大駝峰規(guī)則 3.1器類叫什么?命名空間叫什么?繼承自誰?3.2類叫XxController命名空間是 AppHttpControllers繼承自AppHttpControllersControllernamespace Ap
10、pHttpControllers;use AppHttpControllersController;classController extends Controller public function add() echo ''也可以放在Controllers的其他目錄下如:AppHttpControllersAdminTestController.phpnamespace AppHttpControllersAdmin;use AppHttpControllersController;class TestController extends Controller public
11、 function index()return 'AdminTestController'相應(yīng)路由的寫法,如下:Route:get('test','AdminTestControllerindex');第4章 模板操作4.1 模板放在哪兒?叫什么?模板放在/resources/view 下. 叫什么什么:xx.php,或xx.blade.php注意:如果以.php結(jié)尾,模板中直接寫 PHP 語法即可,例 <?php echo $title; ?>如果以.blade.php結(jié)尾,則可以使用 laravel 特有的模板語法也可以直接使用P
12、HP語法例 $title 如果有 xx.php和xx.blade.php 兩個同名模板,優(yōu)先用 blade 模板.模板中是HTML代碼,不要以為是PHP文件就寫PHP代碼;4.2 和直接在例 :器有什么對應(yīng)關(guān)系?器方法里即可,不像TP一樣,有對應(yīng)關(guān)系,不要搞混.XxController public function yyMethod()return view('zz'); / views/zz.blade.phppublic function yyMethod()return view('user.add'); / views/user/add.blade.p
13、hp4.3 模板賦值將值寫到關(guān)聯(lián)數(shù)組中,然后將數(shù)組寫到 view 函數(shù)的第二參數(shù)中;public function up()$date = 'title'=>'','msg'=>'' return view('up',$date);在view中,直接將數(shù)組的鍵當(dāng)做變量來使用:project/resources/views/up.php (不帶有blade模板,只能用PHP語法):<h1><?php echo $title;?></h1><p><?ph
14、p echo $msg; ?></p>project/resources/views/up.blade.php(PHP語法和模板語法都支持):<h1><?php echo $title;?></h1><p>$msg</p>第5章 數(shù)據(jù)庫5.1 創(chuàng)建數(shù)據(jù)庫,修改框架配置文件創(chuàng)建庫:create database msg charset utf8;修改配置文件:DB_CONNECTION=mysql DB_HOST= DB_DATABASE=msgDB_USERNAME=rootDB_PASSWORD=
15、5.2 遷移文件依我們目前的知識,需要建表create table(.) ,需要改表alter table. .但是,在 laravel 中,不建議直接操作數(shù)據(jù)庫 建表和修改表, 而是把對表的操作寫成 migration 遷移文件.然后 lavavel 通過遷移文件來操作表.所以 , 數(shù)據(jù)遷移文件就是 操作表的語句文件為什么用遷移文件 , 而不直接敲 sql 操作表 ?1. 便于團(tuán)隊統(tǒng)一操作表.2. 出了問題,容易追查問題和回溯,有歷史回退功能.比如你在電腦上create table(),建了一張表 .但其他幾個程序員,如何和你保持同步?也打開 mysql臺執(zhí)行一遍?都執(zhí)行一遍當(dāng)然可以,但很容
16、易各程序員操作不一致的情況.把操作數(shù)據(jù)庫的語句,寫在文件里,大家用同一份文件操作表,就能操持高度一致了.其實(shí)就是對表的操作,都體現(xiàn)在文件上,而不是隨手敲個命令改表.假設(shè)出現(xiàn)不一致的情況,也有歷史可以回退;遷移文件用命令行生成,不要寫,生成后再補(bǔ)齊內(nèi)容;創(chuàng)建表命令:php artisan make:migration create_good_table -create=goods解釋:artisan在項目的根目錄下,其實(shí)就是一個PHP make:migration創(chuàng)建遷移文件create_good_table文件,所以用PHP去執(zhí)行次文件自定義文件名-最好能夠體現(xiàn)次遷移文件的作用-create=
17、goods創(chuàng)建表,表名為goods執(zhí)行完命令后,系統(tǒng)會自動創(chuàng)建遷移文件; 在project/database/migrations/目錄下我們只需要在 function 中補(bǔ)齊對表的操作即可,比如字段,字段類型等 .遷移文件是一個類文件此類中,有2個基本方法,up()和down(). 這兩個方法,互為逆向操作 .比如 :up() 負(fù)責(zé)建表 , 加列 , 加索引down() 負(fù)責(zé)刪表 , 減列 , 去索引5.3 遷移命令的使用命令行中執(zhí)行 :php artisan make:migration create_good_table -create=goods,創(chuàng)建遷移文件;文件創(chuàng)建后,通過修改遷移
18、文件,添們需要的相應(yīng)字段;public function up()Schema:create('goods', function (Blueprint $table) $table->increments('id');$table->char('titles'); /$table->timestamps(););修改完成后,執(zhí)行命令:php artisan migrate運(yùn)行遷移文件后,查看數(shù)據(jù)庫,就會出現(xiàn)相應(yīng)的表; 回退命令:php artisan migrate:rollback想要在表中添加字段,不能修改執(zhí)行后的遷移文件;
19、觀察遷移文件,是有明確的時間的,再看數(shù)據(jù)庫中的migration表,是有明確執(zhí)行過的;已經(jīng)所以我們需要重新生成遷移文件: 修改表命令:php artisan make:migration add_price_to_good -table=goods執(zhí)行完成后,回生成遷移文件,然后修改遷移文件:public function up()Schema:table('goods', function (Blueprint $table) /$table->char('',50););再次執(zhí)行遷移文件:php artisan migrate ;數(shù)據(jù)庫中就會看到我們新
20、添加的字段;5.4 數(shù)據(jù)遷移操作當(dāng)遷移文件做好的之后 , 以下幾個命令 , 執(zhí)行遷移文件 . php artisan migrate 執(zhí)行所有遷移文件php artisan migrate:rollback 回退到最近執(zhí)行遷移的狀態(tài)php artisan migrate:reset 回退到所有遷移之前的初始狀態(tài)php artisan migrate:refresh 回退到初始狀態(tài) , 再次執(zhí)行所有遷移文件php artisan migrate:statusphp artisan migrate:installphp artisan migrate -force: 強(qiáng)制執(zhí)行最新的遷移文件5.5
21、遷移語法速查表可用的字段類型:結(jié)構(gòu)構(gòu)造器包含了許多字段類型,供你構(gòu)建數(shù)據(jù)表時使用:$id = DB:table('goods')->insertGetId($rows);var_dump($id);6.2 update 修改操作典型修改 DB:table('users')->where('id', 1)->update('age' => 19) 相當(dāng)于sql: update users set age=19 where id=1 ;某字段在原基礎(chǔ)上 增長或減少 increment/decrement 返回值
22、是受影響的行數(shù);DB:table('users')->where('id',1)->increment('age');/13); /DB:table('users')->where('id',2)->increment('age',DB:table('users')->where('id',3)->decrement('age');DB:table('users')->where('id
23、',4)->decrement('age', 3);6.3 delete 刪除操作var_dump(DB:table('goods')->where('id' , '>' , 3)->delete();/where 有三個參數(shù)時,其中第二個參數(shù)當(dāng)做運(yùn)算符/返回受影響的行數(shù)6.4 查找操作注意 : 取出的數(shù)據(jù) , 無論是單行還是多行 , 每一行數(shù)據(jù)都是以一個對象的形式組織的 .不是關(guān)聯(lián)數(shù)組 ./ select * from users; DB:table('goods')->ge
24、t();/ select * from user where id > 6DB:table('goods')->where('id' , '>' 6)->get();/ select id,from users where id > 6DB:table('goods')->select('id','')->where('id' , '>' 6)->get();/ select * from users where
25、id=6 , DB:table('goods')->where('id',6)->first()第7章 完整的增刪改查-留言板7.1 程序GET /msg/index 展示留言列表GET /msg/add 展示表單POST /msg/add 接受 POST 數(shù)據(jù),并入庫GET /msg/del/id 刪除留言GET,POST /msg/up/id 修改留言按寫如下路由器:Route:get('msg/index' , 'MsgControllerindex'); Route:get('msg/add'
26、, 'MsgControlleradd'); Route:post('msg/add' , 'MsgControlleraddPost'); Route:get('msg/del/id' , 'MsgControllerdel');Route:match('get','post','msg/up/id' , 'MsgControllerup');生成在器 : php artisan make:controller MsgController器中,補(bǔ)全實(shí)
27、現(xiàn)方法;7.2 數(shù)據(jù)遷移1. 生成遷移文件php artisan make:migration create_msgs_table -create=msgs2. 編輯遷移文件public function up() Schema:create('msgs', function (Blueprint $table)$table->increments('id');$table->string('title',50);$table->string('content',200);$table->integer(&
28、#39;pubtime');$table->timestamps(););public function down() Schema:drop('msgs');3.執(zhí)行遷移命令: php artisan migrate7.3 發(fā)布留言表單頁 /resources/views/msg/add.php<h1>laravel </h1><form action="" method="post"><p><input type="text" name="
29、;title"></p><p><textarea name="content"></textarea></p><p><input type="submit" value=" "></p></form>public function add() return view('msg.add');提交出錯 : TokenMismatchException in VerifyCsrfToken.php li
30、ne 53:不要驚慌 , 這是因?yàn)?laravel 自帶防站外提交 (Csrf) 的功能 . 原理 : 加入某個特征串 , 在 POST 接收頁面檢測此特征串 . 解決 : 在表單中 , 加入這個特征串就行了 .<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">添加方法:public function addPost()$rs = DB:table('msgs')->insert('titl
31、e'=>$_POST'title' ,'content '=>$_POST'content');return $rs ? 'OK' : 'fail'報錯,是因?yàn)閡se DB;7.4 顯示留言列表public function index() $msgs = DB:table('msgs')->get();return view('msg.index' , 'msgs'=>$msgs);/resources/views/msg/index
32、.php :<body><h1> </h1><table><tr><td> <td><td> </tr></td></td></td><?php foreach($msgs as $m) ?><tr><td><?php echo $m->title;?> </td><td><?php echo $m->content;?></td><td&
33、gt;<a href="">|<a href=""></td></tr><?php ?></table></body> </a> </a>7.5 刪除留言模板修改:<td>echo $m->id;?>"> </a><a href="/msg/del/<?php|<a href="/msg/up/<?php echo $m->id;?>&quo
34、t;> </a></td>刪除+跳轉(zhuǎn)public function del($id)if(DB:table('msgs')->where('id',$id)->delete() return redirect('msg/index');else return 'del fail'7.6 修改留言板1.取出數(shù)據(jù),在模板中顯示public function up($id)if(empty($_POST)$row = DB:table('msgs')->where('
35、;id',$id)->first(); return view('msg.add','row'=>$row);<project>/resources/views/msg/add.php<p><input type="text" name="title" value="<?php echo $row->title;?>"></p><p><textarea name="content"
36、><?php echo $row->content; ?></textarea></p>提交數(shù)據(jù),寫入數(shù)據(jù)庫public function up($id)if(empty($_POST)$row = returnelse $row =DB:table('msgs')->where('id',$id)->first();view('msg.add','row'=>$row);'title'=>$_POST'title','
37、content'=>$_POST'content'DB:table('msgs')->where('id',$id)->update($row);* 至此: *我們已經(jīng)用 laravel 做了一個簡單留言板從增刪改查的角度講 , 此時你可以用 laravel 做任意但是 ,laravel 還有很多漂亮的功能沒有用上接下來 , 繼續(xù)深入學(xué)習(xí) laravel了 .第8章 blade模板laravel 有的模板引擎,以.blade.php結(jié)尾.語法相較TP模板和Smarty模板更簡潔一些.8.1 數(shù)據(jù)要集中傳遞到模板在 Sma
38、rty 和 TP 模板中 , 要把變量assign 給模板引擎 .例 :$smarty->assign('title'=>' ');$smarty->assign('content'=>' 13 ');在 blade 模板中,不是assign,而是以數(shù)組參數(shù)集中傳遞.例 :$data = 'title'=>' ', 'content'=>' ', 'score'=>mt_rand(40,90),'use
39、rs'=>'zhangsan','lisi','wangwu'return view('test',$data);模板中,普通變量的使用:$title => 天氣預(yù)報8.2 模板public function test()$arr = 'ti'=>'13','de'=>'sldak','user'=>'1','3','55' return view('msg.
40、test',$arr);if (express) # express elseif (express) # else endif例 :$scoreif ($score >= 80)elseif ($score >= 60) else endif除非,和 if 相反:unless ($score >= 60) score 60 endunless8.3 循環(huán)for循環(huán):for ($i=0; $i<10; $i+)$i <br> endforforeach 循環(huán):foreach ($user as $u)$u endforeachforelse 循環(huán)是否
41、為空forelse ( as $u)$u / emptynobody /endforelse8.4 模板包含與繼承包含:include('msg.sub') 包含views 下的msg/sub.blade.php繼承:模板繼承比模板包含更強(qiáng)大. 如下 , 一個典型的網(wǎng)頁結(jié)構(gòu)頭部和尾部都一樣 , 就中間的左右內(nèi)容不一樣.|-|-|用include 模板來做 , 是把頭尾拿出來header , footer;然后include('header') , include('footer'),需要include 兩次 ; 而繼承則是把header/foot
42、er 公共框架寫在父模板中,繼承一次父模板.模板繼承的概念和面向?qū)ο蟮睦^承非常相似,看下例:<!- parent.blase.php -><html><meta charset="utf-8"><body><div style="background:gray;"> section('left')this is parent left show</div><div style="background:green;"> section(&
43、#39;right')this is parent right show</div></body></html>父模板中有 2 個方eft , right;子模板繼承父模板 , 并且重寫left,right方法,即可獲得子類的特定輸出.<!- son.blade.php-> extends('parent') section('left')son leftendsectionsection('right') son right parentendsection根據(jù)面向?qū)ο蟮闹R,子模板的同名
44、方法覆蓋父類方法.同時,子類right 方法中因此,顯示結(jié)果為:的父類方法.<!- parent.blase.php -><html><meta charset="utf-8"><body><div style="background:gray;"> son left</div><div style="background:green;"> son rightparent right</div></body></html&
45、gt;8.5 不模板和防xss在一些前端模板引擎中 , 也有可能用 做邊界 ,.為防止blade 模板去例 : $jsvar, 前面加 符號防 XSS:'code'=>'<script>alert(1)</script>'view <script>alert(1)</script> , : !$code! (1,)第9章 強(qiáng)大的 M放在哪兒? 命名空間是什么?9.1 M文件默認(rèn)放在/app 目錄下 , 命名空間是App.文件也可以自由的放在其他目錄,但請注意命名空間和目錄路徑保
46、持一致 .mm類叫什么? 繼承自誰?9.2 M在 laravel 中約定 (非強(qiáng)制),表名叫xxs,復(fù)數(shù)形式.如用戶 (user) 表名叫users,郵件 () 表叫s.的類名.類和表名有關(guān)系,一般表名去掉s, 即為 M所以 :users 表的 Ms 表的 M繼承自類叫class User .類叫class, 注意首字母大寫 .IlluminateDatabaseEloquentM以msgs 表對應(yīng)的Msg.php 文件為例,典型的 M如下 :namespace App;use IlluminateDatabaseEloquentM;class Msg extends M/Controller
47、中只需要 正常new 就可以了:new AppMsg()9.3 自動生成和實(shí)例化M可以手寫,可以也用 artisan 命令行工具生成.例 : php artisan make:mMsg實(shí)例化:$m= new App(); / s M, .$m= APP:find(4); / s M, $id=4 .9.5 增public function add() $msg = new AppMsg();$msg->title = $_POST'title'$msg->content= $_POST'content' return $msg->save()
48、? 'OK' : 'fail'9.6 查查單行 : find() 與 first()/ Msg:find($id) / / where Msg:where('id','>',3)->first();查多行 : all() 和 get()/ . select1,2 from msgs;Msg:all(' 1',' 2');/ / Msg:where('id','>',2)->get('1','2'); /Msg:w
49、here('id','>',2)->select('title','content')->get(); /9.7 改public function up($id) if( empty($_POST) ) $msg = returnelse $msg =Msg:find($id);view('msg.up','msg'=>$msg);Msg:find($id);$msg->title = $_POST'title'$msg->content= $_P
50、OST'content'return $msg->save()? 'OK': 'fail'9.8 刪先找到,然后刪public function del($id) $msg = Msg:find($id); return $msg->delete() ?'ok' :'fail'用條件選擇直接刪:public function del($id) return Msg:where('id',$id)->delete()? 'ok': 'fail'9.9
51、復(fù)雜排序 :/ select . where id > 2 order by id desc;Msg:where('id','>',2)->orderBy('id','desc')->get();* 限制條目 */ select . where id>2 order by id desc limit 2,1;/ Msg:where('id','>',2)->orderBy('id','desc')->skip(2)-&g
52、t;take(1)->get();統(tǒng)計:Msg:count();Msg:avg('id');Msg:min('id');Msg:max('id');Msg:sum('id');更加復(fù)雜的:!(9.10 你和m)有個約定表名的約定 默認(rèn)表名為M屬性來指定表名. 例:名 + s,如果不想這樣做,可以通過的 m類的tableclass XxMprotectedextends M$table = 'yourTableName'id 的約定 M默認(rèn) 認(rèn)為,每張表都有一個叫做id的主鍵, 如果向通過其他字段名來設(shè)置主鍵,
53、可以通過primaryKey屬性來指定主鍵列名class XxMextends Mprotected $primaryKey = 'Xx_id' /Key created_at,updated_at字段的約定 M默認(rèn)有這2個字段,且在更新行時,會自動幫你更新這兩個字段. 如果不想這樣,甚至不想要這2個字段, 可以在創(chuàng)建遷移文件后,刪除 $table->timestamps(); 然后,設(shè)置 m的timestamps 屬性設(shè)為falseclass XxMextends Mpublic $timestamps = false;第10章 Request 對象Request 對上
54、 放置著此次請求的全部信息. 如:請求方式 (get/post)請求參數(shù) ($_POST,$_FILES)請求路徑 (后的部分 )請求 cookie 等諸多信息 , 都存到的Request 對象上Request 對象第1個參數(shù)為Request 類型參數(shù),即可自動接收.10.1在方法中,Request 作為方法的第1個參數(shù)出現(xiàn).另:如果方法中有路由器綁定的參數(shù),不受影響. 例:Route:get('/del/$id');public function del(Request $request , $id) / $id 2 ,.10.2 利用Request對象修改留言用Reques
55、t對象改進(jìn)留言修改功能:use IlluminateHttpRequest;.public function up(Request $request , $id) if( empty($_POST) ) $msg = Msg:find($id);return view('msg.up','msg'=>$msg);else print_r( $request->all() );$msg = Msg:find($id);/ $msg->title = $request->title;$msg->content= $request->
56、;content; / return $msg->save() ? 'OK' : 'fail'也可以調(diào)用input 函數(shù):修改上一段代碼$msg->title = $request->input('title'); / input(POST )$msg->content= $request->content; / $msg->pubtime = $request->input('pubtime',time();/()10.3 利用Request對象做文件上傳路由:Route:get(
57、9;msg/fil','MsgControllerfil');Route:post('msg/ups','MsgControllerups');器:public function fil() return view('msg.fil');public function ups(Request $req)/ $req = request();$req->file('photo')->move('/home/meng/code/dd/public/','bb.png'
58、);模板:<form class="" action="/msg/ups" method="post" enctype="multipart/form-data"><input?>"><input<input</form>type="hidden" name="_token" value="<?php echo csrf_token();type="file" name=&qu
59、ot;photo" value="">type="submit" value="zou">10.4 laravel 與 TP 對比路由器的區(qū)別:laravel 的路由簡單,靈活,直接指向器的方法.而 TP 的路由是由 模塊/器/方法 這種規(guī)律生成.準(zhǔn)確的說,TP不能叫路由,只是URL與器的對應(yīng)關(guān)系,或者叫URL分發(fā);而 TP 的 "規(guī)則路由","正則路由", 只是URL 的一個別名甚至是跳轉(zhuǎn),不是真正的路由.整體設(shè)計的區(qū)別 laravel 接管了的全過程,數(shù)據(jù)庫+MVC+錯誤處理.laravel 更像一個全自動車床,輸入原料,得到成品. tp 則部分需要手動,更像一個工具箱.設(shè)計思想的區(qū)別 laravel "大處省流程",tp "小處省字母"例 : tp$_GET , $_POST , $_GET ,$_POST , , I('get.id') $_GET
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 西藥批發(fā)中的電子商務(wù)平臺建設(shè)考核試卷
- 草原馬術(shù)運(yùn)動考核試卷
- 聚噻吩纖維在智能紡織品的應(yīng)用考核試卷
- 融資租賃行業(yè)服務(wù)創(chuàng)新與客戶體驗(yàn)考核試卷
- 谷物儲存的溫濕度調(diào)控考核試卷
- 拼多多平臺店鋪內(nèi)容營銷流量引入與品牌曝光合同
- 數(shù)字音樂平臺影視插曲版權(quán)合作分成合同
- 獨(dú)家授權(quán)網(wǎng)紅奶茶區(qū)域代理銷售服務(wù)合同
- 農(nóng)業(yè)園區(qū)氣象傳感器租賃及數(shù)據(jù)分析服務(wù)合同
- 工業(yè)廢水回用與清潔生產(chǎn)合作協(xié)議
- 地第十一章《極地地區(qū)》教學(xué)設(shè)計-2024-2025學(xué)年七年級地理下冊(人教版2024)
- 2025年BIM技術(shù)在工程項目風(fēng)險管理中的應(yīng)用研究報告
- 山東省煙臺市、德州市、東營市三市東營2025年高考適應(yīng)性考試煙臺德州東營二模英語試卷+答案
- 2025年共青團(tuán)入團(tuán)考試測試題庫及答案
- 2025年上海市16區(qū)初三語文一模試題匯編之古詩文閱讀(學(xué)生版)
- 人工挖孔樁計算書及相關(guān)圖紙
- 土石壩填筑的施工方法
- 【高中化學(xué)會考】山西省普通高中畢業(yè)會考化學(xué)試題樣題
- 2023高考地理高三一輪復(fù)習(xí)教學(xué)計劃和備考策略
- 2022年虹口區(qū)事業(yè)單位公開招聘面試考官練習(xí)試題附答案
- Java程序設(shè)計項目教程(第二版)教學(xué)課件匯總完整版電子教案
評論
0/150
提交評論