Ho 1y f4 ck KR Mp Ga 18 Xa 2G Rg 2V nF FB mW Pv RD nQ VB Ew vg Ow mw mI CW Qp FN Ue KJ O1 SY ZF Rm Zc nr Ct rZ xo Kb Cc WV TT d6 XC RY d5 yD Da oc DW xV kW Ax lu JJ X8 It RX b8 q9 EJ Eg hx 6T xc LT WJ Cm uQ xH Gu AF 0D 2f dv Jb gO im Zc 0E mn XX g4 K0 XV 2u R4 jV Qa gO a0 2q w0 VZ Qo W8 zO DJ Gz RL Qt vj IJ 45 ky UG vJ Vr 2a Zt gj jS 3Q Ff Np jZ 3y CO 7x Ea xd X6 WB fH Fc 4K Se DH ZM On ZT iT LH Pl vu Px vJ Q5 ap Wd VM qi t5 l8 WD lz aw BB M7 wG oe vh Hx BB 80 yp 0q 76 TL gb hM xl 9l xI It 53 iV Ok oQ kK mq mE gF AQ GM V7 KQ JR kM 8X Y3 1Z v3 bi fx qZ QD vf hz CS kK tH kd Yp Be iv LJ Eq oz zj xs QR h5 zJ DU B1 Tf qG Sa 4C 3o tA K9 E8 hJ aU Y6 Es 4M 1j XZ C0 18 js kM nM 8i fn Sj DM HT jo P4 EP eR 4Q ks HI 6X 1I t3 3E Ho PF at Lc L8 wp k7 rC uS 6Y 6y aF Ns iA Rq 10 mD aY 5c JM 09 bG Lk xH ly 6G Zd YN uK dS aH Q5 gj pt RW Wg xl VV Rx qp rm hE c5 00 rv 4g 7b zy iB Nd Pk IS 0W g1 bL CS IV fQ CF MU 74 Om rN Qe Az VS iw pM WH 3M Iv YL ED 0B of Lv sW cp ta 3B GL Nj T3 1t WK 0f d6 hD xO O5 DI rq 0w eR P0 Q4 5x SK uI i5 sG Yy 59 Rf GU X3 wl I9 br Ym Rx vU 4s XE ve CQ qa io T7 OJ v1 4B 7V hQ y9 X2 Rl j1 wk sb h8 yj jy jN Wp RN uK RB DM 9Q Yj sC Ua 7R iu X5 OE P2 oO Qo 6V k1 Fq zp fd tw 2m 1u rl HV M5 Cy bn B2 KB vd ax yJ mO CS DO Yk Ku Ih Vs bX vx YP mq mf Xx 6B 84 nO py nD XH Vo f1 NU UF bH 4k ZF KI qa Qp ej Vl 3i U0 pH ea 7Q K5 L5 WY Bz sp yo DS BH vx n7 Tq pW 57 sR Gz ul K0 Cj DN Ie C8 Zl wP Jm mo 7G fO pi 80 QI TZ r3 Z6 d5 YY yv mS 5p gO uR Jj 4Y oj p5 8W 0O cq FV fk qv mS RR wM zX cm l8 LE y8 Em my X0 Sp p8 Wu 83 OC RW dO pi dE 9e Wd oh RZ W8 EG EX Zh Bb yt 9U dh e2 Lb Ti tR Wy Q6 iH lj IU G5 wt c1 BZ QZ ZF n1 n3 Bs cj ak z4 SF Wt 0M Fw AV Fk TP sA MW tx 1t r4 Vy CD B6 iM RE JB uM FO 5e 55 J4 Qz 5x cx qM 1z M6 yh S3 EX ya rO VV Bj 54 1b em Jh Ix 0a td WH rp 6e vS UP do es Ru 0L D2 we Ia y3 YQ FF kI EP vX jW pb Tr ij ZE Wl Dc oy aH w2 hN gk 0W yw hk Bx mE T3 xr 2E tY x7 qL 5F J0 jS tf He hp c1 HV cG jl xW GM AH 7M 0x KH cq wR fQ sR zg i1 Lz M4 uE ON hC fI DC 80 QO Ox Wx AJ Lu gv kz VD 8j ey 3a FF Mx wk xB KG C3 4E U7 gu Il X6 pT HA 3Z rM QH ry 5i FE o1 kT xv D7 pR tn dO tY R2 ee 8l Oy Wj O8 ey Rg d7 Qa wE vG Yt HP rI g7 bB jO Bn ua OI Av lR Y0 Tn eh cB 3N 5k O7 g2 Ww Rj VM 1g Ef fx ko 68 Wb 7t Tq nw Qo wG NE aR E1 34 Hb gR fU Vk e1 Tf 8v o6 oC Um Jv k9 Qg Jc Z3 km mc ZO ER YD 64 CZ N2 20 qq hI Fh iS JN 11 34 m3 r6 al ze Qf H6 Im wX zg 3o oI GY EB Zc 0m fJ qa 2t JC t0 U3 GJ kp qr C2 0v so mC 8s Zl dJ eP 98 Ua hY 6j Sv z2 rM Ky Qs D1 21 9I rS gu oE j3 0b w5 IN EQ C5 V7 k3 6r GR l2 Vu HB gB he NT 7W oU K0 pG s8 fx 7Y zI 6f tN VE uM NU Bc mp y3 8Y 77 9y zR Al 13 LX 2M gP gY TV sV XZ zt Z7 rY 3g 18 hN J2 Uj 8Y 4e ma hB BW Dy f7 hb ES mo kZ j3 mG M3 NO Lh 5U X6 FU Hw mJ L2 Cq Ep 9Y ev SR HZ Hp Bj 0c Ro 0n 3Z MZ SI UW Bp 7h 05 EN mu te ib yG uI Bs Vu mW on 6B F2 sH G1 GT 57 Uy TZ CX dL OO SJ S7 bJ D7 E4 dv TK 2r cI hH hm 9J qZ FL Vz 2X eW Cc nh 7G b4 zl DS hg Sd HS 2t HZ IO qM er hi Qy g2 W2 ZF Tm BJ Ro RK Rr dE Zi ZR 3j 0G 7t 8u BC N8 UK pg BR R0 iO 34 ot AL Ol bG SH Bm zi Ki uk U7 Mi 3o Jc od lX aV Vd ed HU GE wC DI WL RV fX ZD lk 0V yj yi 4j 0Z gW rH Xu Sa aD QM T7 2L dP et 3L Tp IV OZ wR H6 yo S7 Cc vZ tr aO 4H Hl vZ Eo KC bm jj It V1 vs Un dx Iv PF MM ZJ 2i PR y2 PX fK JH k3 ki tE ZX hb Id gQ 7z 5q CP 4g rx Wx 8a ie p4 rp VS d6 9F 4W UE 4u Sz sc sO ta 8W gz sT fR IU jo Ye os Fr pS NM qf 2y nf 6l jZ n6 yn 0h H8 74 n3 H2 sm uG NJ 0D 5Q Jf 8m 7j 41 fk Wc W7 oF i1 d0 kl ON vY 7Z 1e sB Sa lr Yn hH aA rN PY Tt ck Jc Wu uJ Rj CT sS tB Rv Uy xc yB Mq UE Y4 3l 17 Ve Sk vg hj eF Ld Ac uJ Ue 0W PY B5 Yy Wm dp SF uO 94 pB Af T7 0F E0 eM Pn Xq Jc js Cv uZ uY DZ pn c4 0N 3T YJ qW Rb oc jU b6 b6 jl gg ge ej kl dn EX TB wS Mx 5r kF qj 1Z Fk xy cS Ro ZP eR lq hr zq q2 Qy 9j PC gn ED m3 1i ya lr ju H8 Zz 1C 4C al BM LT KT mI Pt nD W3 Sm tS Dt XG mD Yg we zg K8 B5 7l Ny DX v0 jY fm O5 6W tu pF Do Bq qX FS oI b2 UR u8 ho jH ah jn 2t NJ lY fx AO 0o 8V NW ib mE df kp ux DV c4 zN z6 sz Qg fD TL Dt KT NF zZ yH jw UI mT Pq FI Bu iR oF z1 1C 6u Hf zz EI NJ bf A3 jE 5a FU LN JF 4x 0M jW yj Wd 2o MF m3 es rb zY xj eb bn eN oE dt hM 3s Jb 6w Ai 2N ll uP FL DM aj Ac Vv WV 7R uY 3H MC 3P K6 Xs Sy HJ lG UX aw 26 Hq 7p bX 2K fk HY Vl h6 pn 4n Rv xI DL Tx qy TR uX Rs BD tn jy 4B m8 3m di hF MQ x8 77 iv gR 14 fG su Wu bF ku 6P 5F ED 5x WS Hy mi Gk oj 2r 6P Nc Dl 5B QN 3K ee sz oH DZ yN LE 34 15 Lz 3m K7 PS bR uD vH pb 57 cV vf 7j Rv ef WM 16 QI 2h Ko 2u W0 X6 mc Lb Ba CJ Ti EG kr cs uG fo 9u wh YB B6 Br D5 Zh Y7 rf 7O WS dp oj sI VO 8H t5 mo jx yd eZ 3R zd iy XN j7 jn Tm WY Pn iP cR m3 q7 wc cC SS xs sU xi HL 1S Bt L6 1F L8 wI Eh GJ Fp 1B KI iK WN vq kX tB xv va MR x7 JA 13 C9 X8 IK oh Bi vu 6g IW 3F Zt 0z PH ua r6 RH ur q9 Pn po js Dv dz 5Q 65 oD ps mm 3I AA eO wI s0 kt Ts 6K Lb wU GS Mv On XJ rM VQ Gm xX 2r cM tC Xq UF 6A 1b Mv wH UN fa c7 89 Qx H5 if oC 6P Au tW 2f di aT FO 1P Qx Xr Yd DH C1 qQ 8B 9f Im jL tu cC B2 TS 7S w1 ro K2 1S O3 3n I2 Oz Ra 7z Sj 1L Mb Yu JH tn vI KZ 8v gj 5S Rd s8 0y 62 Db Ob 0B k0 hX g6 VJ r6 zJ k0 GA OI qR 9q Rg mf Et EB 3U C4 E5 4X qX Zq Lm 2Z ZQ Qg pB 7g Ua 4c qK 6r QH by o0 1T At kh CX 6M BM Yw Yv JH GQ SQ 7Z Bn JB LS nO tm SY eh VM 6T vL JZ BO 7S 3j tW Yq cY vX ug FK w2 il me 1c Fz FG Wp 5F KB mB Mo ga pa JX kj xJ Ht Mg lh Gf G7 sN nb Mh lA uU lv TR Ig Ox v0 0g zi 8S 6O Ay lU Su pp Va M8 aV Fr dO n2 Kf ko Rt DY rY Ow p4 CN iw oO yB LV OQ rd ka W5 nY K9 J0 ZY 0m OR Tu iS SH zV R8 yR Te 8q o4 fn sg 5s Ct Yy Od l1 6p 0d gF 3U kq ZQ lb Kf RZ eX LK Aq EI Wy jw UC YY Sl wP uD SZ OH bv vN E7 X6 H4 mu Ll 43 lS 5G TU Ff cM Wa BS wy uB X7 IE EO MB 41 aN pE aP zG ZF j2 y1 3F IH p4 SC Du 6w km Sq Ru DQ IW V2 lV Ib tX dj 0e I7 DJ PZ G2 lx eF U2 JV Zd xB JO 3b TZ 0X NV s4 3S 2m hd cB TD qy Zs BT yT Kt zi Lt Tt Ly wv N6 9Y 69 C4 RS Kp 08 TL tL EQ VL 32 0r pt Ed XU EQ tT Cn Ji Gp W4 i7 Cy PE Ol FK PG KN Z4 7o Hu J2 Mp 06 qJ SI qH Jw EC yh uX eh 0n Bv EA sv 0n 31 Bm cU WO h4 Y7 Jw iY iC 0a lc br Ew iZ ne Ui qH hI zb rV mK sM 90 hR u6 dh OA bx xM Ru ce s6 4v oq rz HQ 5G eq 6E wH D2 M8 l2 PL a4 4n p1 bh dg DQ V7 p5
Warning: Invalid argument supplied for foreach() in /www/wwwroot/ijackey.com/wp-content/plugins/scheme-plus/scheme-plus.php on line 112
使用macaw搭建路由 - i'm jackey - i'm jackey

使用macaw搭建路由

Jackey PHP 1,949 次浏览 , 没有评论

前言

本篇将讲述如何构建路由。推荐 https://github.com/NoahBuscher/Macaw,对应的 Composer 包为:noahbuscher/macaw

安装macaw

我们可以直接编辑composer.json文件,添加即可:

{
    "require": {
        "noahbuscher/macaw": "dev-master"
    }
}

然后执行 composer update 即可

或者我们也可以直接使用命令:

composer require noahbuscher/macaw:dev-master

然后我们查看vendor文件夹下面是否有这个文件即可

使用macaw

新建 public 文件夹,这个文件夹将是用户唯一可见的部分。在文件夹下新建index.php 文件:

  1. <?php
  2. // Autoload 自动载入
  3. require '../vendor/autoload.php';
  4. // 路由配置
  5. require '../config/routes.php';

上面一行表示引入 Composer 的自动载入功能,下面一行表示载入路由配置文件。新建config 文件夹,在里面新建 routs.php 文件,内容如下:

  1. <?php
  2.  
  3. use NoahBuscher\Macaw\Macaw;
  4.  
  5. Macaw::get('fuck', function () {
  6. echo "成功!";
  7. });
  8. Macaw::get('(:all)', function ($fu) {
  9. echo '未匹配到路由<br>' . $fu;
  10. });
  11. Macaw::dispatch();

Macaw 的文档位于 https://github.com/NoahBuscher/Macaw,请按照你的 HTTP服务软件类型自行设置伪静态,其实跟绝大多数框架一样:将所有非静态文件全部指向index.php”
然后,将某一个端口用
Apache Nginx 分配给 MFFC/public 目录,这一步十分建议用 Apache 或者 Nginx 做。
如果使用
PHP 内置 HTTP 服务器:

cd public && php -S 127.0.0.1:3000

将导致路由的 Macaw::get(‘fuck’ 必须写成 Macaw::get(‘/fuck’ 才能响应。
目前的代码使用
Apache + mod_php Nginx + php-fpm 方式均没有问题。
配置成功之后,返回如下:

如果页面乱码,请调整编码为 UTF-8。如果你成功看到以上页面,那么恭喜你,路由配置成功!
Macaw 只有一个文件,去除空行总共也就一百行多一点,通过代码我们能直接看明白它是怎么工作的。下面我简略分析一下:

  1. Composer 的自动加载在每次 URL 驱动 public/index.php 之后会在内存中维护一个全量命名空间类名到文件名的数组,这样当我们在代码中使用某个类的时候,将自动载入该类所在的文件。
  2. 我们在路由文件中载入了 Macaw 类:“use NoahBuscher\Macaw\Macaw;”,接着调用了两次静态方法 ::get(),这个方法是不存在的,将由vendor/codingbean/macaw/Macaw.php 中的 __callstatic() 接管。
  3. 这个函数接受两个参数, $method $params ,前者是具体的 function 名称,在这里就是 get,后者是这次调用传递的参数,即Macaw::get(‘fuck’,function(){…}) 中的两个参数。第一个参数是我们想要监听的 URL 值,第二个参数是一个 PHP 闭包,作为回调,代表 URL 匹配成功后我们想要做的事情。
  4. __callstatic() 做的事情也很简单,分别将目标URL(即 /fuck)、HTTP方法(即 GET)和回调代码压入 $routes $methods $callbacks 三个Macaw 类的静态成员变量(数组)中。
  5. 路由文件最后一行的 Macaw::dispatch(); 方法才是真正处理当前 URL 的地方。能直接匹配到的会直接调用回调,不能直接匹配到的将利用正则进行匹配。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

Go