我用了13行代碼開發(fā)出來(lái)的PHP框架
Jul 09, 2016 am 09:10 AM我只用13行代碼開發(fā)的PHP框架,如果您對(duì)框架不理解,不知道框架究竟幫您做了什麼事,可以下載此框架看一下,
另外如果您想開發(fā)自己的框架也可以由這個(gè)框架的思路進(jìn)行擴(kuò)展.
源碼下載地址:http://download.csdn.net/detail/sibang/6197315
代碼:
<span style="color: #008080;"> 1</span> <span style="color: #000000;">PHP </span><span style="color: #008080;"> 2</span> <span style="color: #008000;">/*</span><span style="color: #008000;">* </span><span style="color: #008080;"> 3</span> <span style="color: #008000;"> PHP極簡(jiǎn)框架 </span><span style="color: #008080;"> 4</span> <span style="color: #008000;"> 交流: </span><span style="color: #008080;"> 5</span> <span style="color: #008000;"> QQ群: 223494678 </span><span style="color: #008080;"> 6</span> <span style="color: #008000;"> http://7di.net </span><span style="color: #008080;"> 7</span> <span style="color: #008000;"> 用法 </span><span style="color: #008080;"> 8</span> <span style="color: #008000;"> http://URL </span><span style="color: #008080;"> 9</span> <span style="color: #008000;"> http://URL/hello </span><span style="color: #008080;">10</span> <span style="color: #008000;"> http://URL/seven.php?w=hello </span><span style="color: #008080;">11</span> <span style="color: #008000;">/*</span><span style="color: #008000;">*/</span> <span style="color: #008080;">12</span> <span style="color: #008080;">13</span> <span style="color: #008080;">Header</span>('Content-type: text/html; charset=UTF-8'<span style="color: #000000;">); </span><span style="color: #008080;">14</span> <span style="color: #800080;">$w</span>=<span style="color: #0000ff;">isSet</span>(<span style="color: #800080;">$_REQUEST</span>['w']) ? <span style="color: #008080;">AddsLashes</span>(<span style="color: #800080;">$_REQUEST</span>['w']) : ''<span style="color: #000000;">; </span><span style="color: #008080;">15</span> <span style="color: #800080;">$w</span>=(<span style="color: #008080;">Trim</span>(<span style="color: #800080;">$w</span>)=='') ? 'index' : <span style="color: #800080;">$w</span><span style="color: #000000;">; </span><span style="color: #008080;">16</span> <span style="color: #008080;">17</span> <span style="color: #0000ff;">IF</span>(!<span style="color: #008080;">is_callable</span>(<span style="color: #800080;">$w</span><span style="color: #000000;">)) { </span><span style="color: #008080;">18</span> <span style="color: #0000ff;">Exit</span>('Error:'.<span style="color: #ff00ff;">__LINE__</span>.',參數(shù)錯(cuò)誤!'<span style="color: #000000;">); </span><span style="color: #008080;">19</span> <span style="color: #000000;">} </span><span style="color: #008080;">20</span> <span style="color: #800080;">$w</span><span style="color: #000000;">(); </span><span style="color: #008080;">21</span> <span style="color: #008080;">22</span> <span style="color: #0000ff;">Function</span><span style="color: #000000;"> hello(){ </span><span style="color: #008080;">23</span> <span style="color: #0000ff;">Echo</span> 'Hello World!'<span style="color: #000000;">; </span><span style="color: #008080;">24</span> <span style="color: #000000;">} </span><span style="color: #008080;">25</span> <span style="color: #008080;">26</span> <span style="color: #0000ff;">Function</span><span style="color: #000000;"> index(){ </span><span style="color: #008080;">27</span> <span style="color: #0000ff;">Echo</span> '此框架由Seven編寫,來(lái)自QQ群:223494678'<span style="color: #000000;">; </span><span style="color: #008080;">28</span> }
.htaccess的內(nèi)容
?
下邊是註釋:
Header('Content-type: text/html; charset=UTF-8'); //定義編碼 $w=isSet($_REQUEST['w']) ? AddsLashes($_REQUEST['w']) : ''; //獲取參數(shù)w的值,w來(lái)自于rewrite規(guī)則文件.htaccess $w=(Trim($w)=='') ? 'index' : $w; //如果參數(shù)w的值為空,則訪問(wèn)默認(rèn)的index方法 IF(!is_callable($w)) { //如果$w所屬的function不存在 Exit('Error:'.__LINE__.',參數(shù)錯(cuò)誤!'); //拋出錯(cuò)誤 } $w(); //調(diào)用$w名稱對(duì)應(yīng)的function,例如:http://URL/hello會(huì)調(diào)用hello()這個(gè)function //自定義方法(可自由擴(kuò)展) Function hello(){ Echo 'Hello World!'; } Function index(){ Echo '此框架由Seven編寫,來(lái)自QQ群:223494678'; }
?

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Die Datei "Settings.JSON" befindet sich auf dem Pfad auf Benutzerebene oder Arbeitsbereichsebene und wird verwendet, um die VSCODE-Einstellungen anzupassen. 1. Benutzer-Level-Pfad: Windows ist C: \ Benutzer \\ AppData \ Roaming \ Code \ User \ Settings.json, MacOS is /users//library/applicationsupport/code/user/settings.json, Linux is /home/.config/code/usser/setings.json; 2. Pfad auf Arbeitsbereichsebene: .VSCODE/Einstellungen im Projekt Root Directory

Verwenden Sie datetime.strptime (), um Datumszeichenfolgen in DateTime -Objekt umzuwandeln. 1. Grundnutzung: Analyse "2023-10-05" als DateTime-Objekt über "%y-%M-%d"; 2. unterstützt mehrere Formate wie "%M/%d/%y", um amerikanische Daten zu analysieren, "%d/%m/%y", um britische Daten zu analysieren ",%b%d,%y%i:%m%p", um die Zeit mit AM/PM zu analysieren; 3.. Verwenden Sie DateUtil.Parser.Parse (), um unbekannte Formate automatisch zu schlie?en; 4. Verwenden Sie .D

Ja, ein gemeinsames CSS-Dropdown-Menü kann mit reinem HTML und CSS ohne JavaScript implementiert werden. 1. Verwenden Sie verschachtelte UL und Li, um eine Menüstruktur zu erstellen. 2. Verwenden Sie die: Hover Pseudo-Klasse, um die Anzeige und das Verstecken von Pulldown-Inhalten zu steuern. 3.. Setzen Sie Position: Relativ für Eltern -Li, und das Untermenü wird unter Verwendung von Position positioniert: absolut; 4. Das untergeordnete Standards ist angezeigt: Keine, die angezeigt wird: Block, wenn sie schwebend sind; 5. Multi-Level-Pulldown kann durch Verschachtelung, kombiniert mit dem übergang und Fade-In-Animationen erzielt und an mobile Terminals mit Medienabfragen angepasst werden. Die gesamte L?sung ist einfach und erfordert keine JavaScript -Unterstützung, was für gro?e geeignet ist

Itertools.combinations wird verwendet, um alle nicht repetitiven Kombinationen (irrelevant) zu generieren, die eine bestimmte Anzahl von Elementen aus dem iterablen Objekt ausw?hlen. Die Verwendung umfasst: 1. Auswahl 2 Elementkombinationen aus der Liste, wie z. 2. Nehmen Sie 3 Charakterkombinationen von Saiten wie "ABC" und "ABD", die für die Subsequence -Erzeugung geeignet sind; 3. Finden Sie die Kombinationen, in denen die Summe von zwei Zahlen dem Zielwert entspricht, z. B. 1 5 = 6, die Doppelschleifenlogik vereinfachen. Der Unterschied zwischen Kombinationen und Anordnung besteht darin, ob die Reihenfolge wichtig ist, Kombinationen betrachten AB und BA als gleich, w?hrend Permutationen als unterschiedlich angesehen werden.

Python ist ein effizientes Instrument zur Implementierung von ETL -Prozessen. 1. Datenextraktion: Daten k?nnen aus Datenbanken, APIs, Dateien und anderen Quellen über Pandas, SQLalchemy, Anfragen und andere Bibliotheken extrahiert werden; 2. Datenumwandlung: Verwenden Sie Pandas für Reinigung, Typumwandlung, Assoziation, Aggregation und andere Vorg?nge, um die Datenqualit?t zu gew?hrleisten und die Leistung zu optimieren. A. Datenbelastung: Verwenden Sie Pandas 'TO_SQL -Methode oder Cloud -Plattform -SDK, um Daten an das Zielsystem zu schreiben, auf Schreibmethoden und Stapelverarbeitung zu achten. 4. Toolempfehlungen: Luftstrom, Dagster, Pr?fekten werden zur Prozessplanung und -verwaltung verwendet, um Protokollalarme und virtuelle Umgebungen zu kombinieren, um die Stabilit?t und Wartbarkeit zu verbessern.

@Property Decorator wird verwendet, um Methoden in Eigenschaften umzuwandeln, um die Les-, Einstellungs- und L?schsteuerung von Eigenschaften zu implementieren. 1. Grundnutzung: Definieren Sie nur schreibgeschützte Attribute über @Property, wie z. B. Bereich berechnet auf dem Radius und direkt zugegriffen; 2. Erweiterte Verwendung: Verwenden Sie @name.setter und @name.deleter, um die überprüfung der Attributzuweisung und L?schvorg?nge zu implementieren; 3. Praktische Anwendung: Führen Sie die Datenüberprüfung in Setzen durch, z. B. BankAccount, um sicherzustellen, dass der Restbetrag nicht negativ ist. 4. Benennungsspezifikation: Die internen Variablen sind vorangestellt, Eigenschaftennamen sind mit den Attributen überein, und eine einheitliche Zugriffskontrolle wird zur Verbesserung der Codesicherheit und -wartbarkeit verwendet.

Das Fixture ist eine Funktion, mit der voreingestellte Umgebungen oder Daten für Tests bereitgestellt werden. 1. Verwenden Sie den Dekorateur für @PyTest.Fixure, um die Fixture zu definieren. 2. Inject Fixture in Parameterform in der Testfunktion; 3. Führen Sie ein Setup vor Ausbeute aus und rei?en Sie dann ab. 4. Steuerungsumfang durch Umfangsparameter wie Funktion, Modul usw.; 5. Legen Sie das gemeinsame Ger?t in conftest.

Verwenden Sie das UUID-Modul, um die MAC-Adresse der ersten Netzwerkkarte der Maschine über die Plattform zu erhalten, ohne dass eine Bibliothek von Drittanbietern erforderlich ist, und konvertieren Sie es in ein Standardformat über uUid.getNode (). 2. Subprozess verwenden, um Systembefehle wie IPConfig oder IfConfig aufzurufen und diese mit regelm??iger Extraktion aller Netzwerkkarten -MAC -Adressen zu kombinieren. 3.. Verwenden Sie die Bibliothek von Drittanbietern GetMac, rufen Sie Get_MAC_ADdress () nach der Installation auf, um den Mac zu erhalten, der die Abfrage nach Schnittstelle oder IP unterstützt, jedoch zus?tzliche Abh?ngigkeiten erfordert. Zusammenfassend wird die UUID -Methode empfohlen, wenn keine externe Bibliothek ben?tigt wird. Wenn Sie flexibel Multi-Network-Karteninformationen erhalten müssen, k?nnen Sie die Subprozessl?sung verwenden, damit Sie die Abh?ngigkeit GetMA installieren k?nnen.
