国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Heim PHP-Framework YII Was sind die Gründe für die Wahl des yii-Frameworks?

Was sind die Gründe für die Wahl des yii-Frameworks?

Sep 03, 2020 pm 03:56 PM
yii Framework

Was sind die Gründe für die Wahl des yii-Frameworks?

Sieben Gründe, sich für das yii-Framework zu entscheiden:

(Empfohlenes Tutorial: yii-Framework)

1. Einfache Installation

Für Webentwickler ist Zeit Geld. Niemand m?chte seine Zeit mit mühsamer Installation und Konfiguration verschwenden.

Composer übernimmt den Installationsprozess. Wenn Sie eine Beschreibung des Installationsprozesses wünschen, hat Sitepoint kürzlich einen Artikel dazu ver?ffentlicht, den Sie unten lesen k?nnen. Ich bleibe lieber bei der grundlegenden App-Vorlage, auch wenn ich auf meiner Website eine separate Front-End- und Back-End-Komponente habe. Stattdessen habe ich mich für die Verwendung eines Moduls für den Backend-Teil meiner Website entschieden. (Yii-Module sind die beste Darstellung von Minianwendungen und k?nnen in Ihre Hauptanwendung eingebettet werden.)

Hinweis: Die Verzeichnisreferenzen in vielen der folgenden Beispiele verwenden die Verzeichnisstruktur einer einfachen Vorlage.

2. Nutzen Sie moderne Technologie

Yii ist ein reines OOP-Framework, das einige der erweiterten Funktionen von PHP voll ausnutzt, darunter verz?gerte statische Bindung, SPL-Klassen und -Schnittstellen sowie anonyme Funktionen.

Alle Klassen verfügen über einen Namensraum und erm?glichen Ihnen die Nutzung ihres PSR-4-kompatiblen Autoloaders. Mit anderen Worten: Das Einbinden der HTML-Hilfsklasse in Yii ist genauso einfach:

use?yii\helpers\Html;

Yii kann auch Aliase definieren, um Ihren Namespace zu vereinfachen. Im obigen Beispiel l?dt die use-Anweisung eine Klassendefinition und der Standardpfad im Verzeichnis ist /vendor/yiisoft/yii2/helpers. Dieser Alias ??wird in der BaseYii-Klasse in Zeile 79 definiert:

public?static?$aliases?=?['@yii'?=>?__DIR__];

Das Framework selbst wird mit Composer installiert, ebenso wie seine Erweiterung. Das Ver?ffentlichen einer Erweiterung ist sogar so einfach wie das Erstellen einer ?composer.json“, das Hosten Ihres Codes auf Github und das Auflisten der Erweiterung auf Packagist. Yii kann auch Aliase definieren, um Ihren Namespace zu vereinfachen. Im obigen Beispiel l?dt die use-Anweisung eine Klassendefinition und der Standardpfad im Verzeichnis ist /vendor/yiisoft/yii2/helpers. Dieser Alias ??ist in Zeile 79 der BaseYii-Klasse definiert:

3. Hohe Skalierbarkeit

Yii ist wie ein Anzug, er sieht gro? aus, l?sst sich aber eigentlich leicht an Ihre Bedürfnisse anpassen. Nahezu jede Komponente des Frameworks ist erweiterbar. Ein einfaches Beispiel ist das Hinzufügen einer eindeutigen Body-ID zu Ihrer Ansicht. (Wenn Sie wissen m?chten, warum Sie dies tun m?chten, k?nnen Sie sich diesen Artikel ansehen.)

Zuerst erstelle ich eine Datei namens View.php in den App-Komponenten meines und füge den folgenden Inhalt hinzu:

namespaceapp\components;
?
classView?extendsyii\web\View?{
?
????public$bodyId;
?
????/*?Yii?allows?you?to?add?magic?getter?methods?by?prefacing?method?names?with?"get"?*/
?
????publicfunction?getBodyIdAttribute()?{
????????return($this->bodyId?!='')??'id="'?.?$this->bodyId?.'"'?:?'';
????}
?
}

Dann m?chte ich in meiner Hauptlayoutdatei (appviewslayoutsmain.php) Folgendes im Body-Tag des HTML hinzufügen:
BodyIdAttribute?> ;>

Abschlie?end m?chte ich der Hauptkonfigurationsdatei den folgenden Inhalt hinzufügen, damit Yii die erweiterte View-Klasse anstelle der Standardklasse verwenden kann:

return[
????//?...
????'components'=>?[
????????//?...
????????'view'=>?[
????????????'class'=>?'app\components\View'
????????]??
????]
];

4

Yii ist eng mit Codeception verbunden. Codeception ist ein erstaunliches PHP-Testframework, das den Prozess der Erstellung von Widgets, Funktionstests und Akzeptanztests für Ihre Anwendungen vereinfacht. Denn jede Bewerbung, die Sie schreiben, ist ein automatisierter Test, oder?

Die Codeception-Erweiterung erleichtert die Konfiguration Ihrer Anwendung w?hrend des Testens. Stellen Sie einfach die Datei /tests/_config.php bereit, um Ihr Testprogramm zu konfigurieren. Zum Beispiel:

return[
????'components'=>?[
????????'mail'=>?[
????????????'useFileTransport'=>?true,
????????],
????????'urlManager'=>?[
????????????'showScriptName'=>?true,
????????],
????????'db'=>?[
????????????????'dsn'=>?'mysql:host=localhost;dbname=mysqldb_test',
????????],
????],
];

使用該配置,將會發(fā)生如下幾種情況:

1、?在功能測試和驗收測試期間發(fā)送的任何一封郵件,將會被寫入一個文件中,而不是被發(fā)送。使用該配置,將會發(fā)生如下這種情況:

2、?在你測試中的URLs將會采取這種格式:?index.php/controller/action?而不是這種:/controller/action

3、?測試將會使用你的測試數據庫,而不是你的產品數據庫。

存在Yii框架中的特殊模塊,同樣也存在Codeception內。它TestGuy類中增加了幾個方法,協(xié)助你在功能測試中的活動記錄(Yii中的ORM)。舉例來說,如果你想看看是否成功創(chuàng)建了一個用戶名為“testuser”的新user,你可以做以下幾點:

$I->amOnPage('register');
$I->fillField('username','testuser');
$I->fillField('password','qwerty');
$I->click('Register');
$I->seeRecord('app\models\User',array('name'=>?'testuser'));

5、簡化安全性

安全性是任何一個web應用的重要組成部分,幸運的是,Yii有一些很棒的功能可以幫你解決這方面的煩惱。
Yii帶有一個安全應用組件,其中公開的幾個方法可以幫助創(chuàng)建一個更安全的應用。其中一些比較有用的方法如下:

·generatePasswordHash:?從一個密碼和隨機因子生成一個安全的單向散列函數。這種方法為你編譯了一個隨機因子,然后通過PHP?crypt函數功能提供的字符串創(chuàng)建了一個單項散列函數。

·validatePassword:對于generatePasswordHash,這是一個伴侶功能,并且允許你檢查用戶提供的密碼是否與你存儲的散列函數相匹配。

·generateRandomKey:允許你創(chuàng)建一個任意長度的隨機字符串。

Yii會對所有不安全的HTTP請求方法(PUT,POST,DELETE)進行自動檢查,當你使用ActiveForm::begin()方法創(chuàng)建開放表單標簽時,它會生成并輸出一個token。通過編輯你的主配置文件可以禁止此功能,方法如下:

return[
????'components'=>?[
????????'request'=>?[
????????????'enableCsrfValidation'=>?false,
????????]
];

為了防止XSS,Yii提供了一個叫HtmlPurifier的輔助類。這個類有一個名為process的靜態(tài)方法,并且會使用popular?filter?library過濾出同名的輸出庫。

Yii還包括備用類,用來進行用戶身份驗證和授權。授權分為兩種類型:ACF(訪問控制過濾器)和RBAC(基于角色的訪問控制)。

這兩種授權方法,較簡單的要數ACF了,它是通過在你的控制器中添加以下行為方法來實現(xiàn)的:

useyii\filters\AccessControl;
?
classDefaultController?extendsController?{
????//?...
????publicfunction?behaviors()?{
????????return[
????????????//?...
????????????'class'=>?AccessControl::className(),
????????????'only'=>?['create','login','view'],
????????????????'rules'=>?[
????????????????[
????????????????????'allow'=>?true,
????????????????????'actions'=>?['login','view'],
????????????????????'roles'=>?['?']
????????????????],
????????????????[
????????????????????'allow'=>?true,
????????????????????'actions'=>?['create'],
????????????????????'roles'=>?['@']
????????????????]
????????????]
????????];
????}
????//?...
}

上面的代碼用于區(qū)分DefaultControllerto,允許guest用戶的訪問login?和view行為,而不是create?行為。(??是一個匿名用戶別名,@?指的是已認證用戶)。

RBAC是指那些用戶可以在整個應用中執(zhí)行特定操作行為的更有效的方法。包括為用戶創(chuàng)建角色,定義app權限,然后使這些權限試用于相應的角色。如果你想創(chuàng)建一個Moderator的角色,并允許分配給該角色的所有用戶批準文章。

你也可以使用RBAC定義角色,它允許你在特定條件下,授權訪問應用的某些方面的自定義規(guī)則。例如,你可以創(chuàng)建一個規(guī)則,即允許用戶編輯自己的文章,而不是那些其他人創(chuàng)建的。

6、縮短開發(fā)時間

大多數項目都會涉及一定的重復任務,沒有人愿意浪費時間。而Yii提供的一些工具可以幫助你減少在這些任務中所花費的時間,將更多的時間用于定制讓客戶滿意的應用。

在這些工具中,其中有一個名為“Gii”的工具最為強大。Gii是一個基于web的基架代碼工具,可以讓你快速創(chuàng)建代碼模板:

·模型

·控制器

·形式

·模塊

·擴展

·CRUD控制器行為和視圖

Gii是高度可配置的。你可以將其設置為僅在特定的環(huán)境下加載。只需簡單編輯下你的web配置文件即可,方法如下:

if?(YII_ENV_DEV)?{
????//?...
????$config['modules']['gii']?=?[
????????'class'?=>?'yii\gii\Module',
????????'allowedIPs'?=>?['127.0.0.1',?'::1']
????]
}

這樣就可以確保黨Yii的環(huán)境設置為開發(fā)的時候,Gii僅支持加載,并且它只通過本地主機訪問時才會加載。

現(xiàn)在,讓我們來看下模型生成器吧:


表名使用的是一個預輸入控件,來試圖猜測哪個表格與你的模型相關聯(lián),并且所有領域都有一個翻轉工具,提示你如何填寫出來。在用Gii生成它之前,你可以預覽代碼,并且所有代碼模板是完全可以自定義的。

還有幾個命令行工具可以幫你為你的自動化測試創(chuàng)建數據庫遷移,信息翻譯(I18N:國際化)和數據庫fixtures?代碼模板。例如,你可以使用如下命令創(chuàng)建一個新的數據庫遷移文件:

yii?migrate/create?create_user_table

這將會在?{appdir}/migrations上創(chuàng)建一個新的遷移模板,看起來像這樣的:

<?php
 
    use yii\db\Schema;
 
    class m140924_153425_create_user_table extends \yii\db\Migration
    {
        public function up()
        {
 
        }
 
        public function down()
        {
            echo "m140924_153425_create_user_table cannot be reverted.\n";
 
            return false;
        }
}

所以我們可以說,我想添加在該表中再添加幾列。我只想添加以下內容到up 方法中:

public function up()
{
    $this->createTable('user',?[
????????'id'?=>?Schema::TYPE_PK,
????????'username'?=>?Schema::TYPE_STRING?.?'?NOT?NULL',
????????'password_hash'?=>?Schema::?TYPE_STRING?.?'?NOT?NULL'
????],?null);
}

然后,保證我可以反向遷移,下面我將添加down?方法:

public?function?down()
{
$this->dropTable('user');
}

創(chuàng)建該表將會簡單包括一個在運行在命令行的命令:

./yii?migrate

然后移除該表:

./yii?migrate/down

7、容易調整為最佳性能

大家都知道,一個網站很慢的話會很容易讓用戶產生不滿,所以Yii提供了幾種工具來幫助你從應用中“擠”出更多的速度。

所有Yii的緩存組件都是從yii/caching/Cache擴展來的,你可以選擇任何一種,你想同時使用一個通用API擴展的緩存系統(tǒng)。你甚至可以注冊多個高速緩存組件。Yii目前支持數據庫和文件緩存,APC,Memcache,?Redis,?WinCache,?XCache和Zend?數據緩存。

默認情況下,如果你正在使用Active?Record,然后Yii會運行一個額外的查詢,來確定表參與生成模型的架構。你可以通過編輯注配置文件設置應用程序,從而緩存這些架構:

return?[
????//?...
????'components'?=>?[
????????//?...
????????'db'?=>?[
????????????//?...
????????????'enableSchemaCache'?=>?true,
????????????'schemaCacheDuration'?=>?3600,
????????????'schemaCache'?=>?'cache',
????????],
????????'cache'?=>?[
????????????'class'?=>?'yii\caching\FileCache',
????????],
????],
];

最后,Yii有一個命令行工具,使前端資源極簡化更容易。只需運行以下命令來生成配置模板:

./yii?asset/template?config.php

然后,編輯該配置來指定工具,達到你想要的簡化效果(如關閉編譯器,?YUI?Compressor,或UglifyJS)。生成的配置模板,如下所示:

<?php
    return [
        &#39;jsCompressor&#39; =>?'java?-jar?compiler.jar?--js?{from}?--js_output_file?{to}',
????????'cssCompressor'?=>?'java?-jar?yuicompressor.jar?--type?css?{from}?-o?{to}',
????????'bundles'?=>?[
????????????//?'yii\web\YiiAsset',
????????????//?'yii\web\JqueryAsset',
????????],
????????'targets'?=>?[
????????????'app\config\AllAsset'?=>?[
????????????????'basePath'?=>?'path/to/web',
????????????????'baseUrl'?=>?'',
????????????????'js'?=>?'js/all-{hash}.js',
????????????????'css'?=>?'css/all-{hash}.css',
????????????],
????????],
????????'assetManager'?=>?[
????????????'basePath'?=>?__DIR__,
????????????'baseUrl'?=>?'',
????????],
????];

接著,運行此控制臺命令來實現(xiàn)壓縮:

'components'?=>?[
????//?...
????'assetManager'?=>?[
????????'bundles'?=>?require?'/app/assets_compressed.php'
????]
]

注意:你必須要手動下載和安裝這些外部工具。

結論:

像任何一個好的框架一樣,Yii能夠幫助你快速創(chuàng)建流行的web應用,并確保它們可以做的很好。通過做許多繁瑣的事情,它幫你你創(chuàng)建安全的和可測試的網站。你可以輕松的使用它提供的大部分功能,或者你也可以修改其中任何一個來適應你的需求。真心建議你在你的下一個web項目中考慮一下它!

Das obige ist der detaillierte Inhalt vonWas sind die Gründe für die Wahl des yii-Frameworks?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276
Yii-Framework-Middleware: Bereitstellung mehrerer Datenspeicherunterstützung für Anwendungen Yii-Framework-Middleware: Bereitstellung mehrerer Datenspeicherunterstützung für Anwendungen Jul 28, 2023 pm 12:43 PM

Yii-Framework-Middleware: Bereitstellung mehrerer Datenspeicherunterstützung für Anwendungen Einführung Middleware (Middleware) ist ein wichtiges Konzept im Yii-Framework, das mehrere Datenspeicherunterstützung für Anwendungen bereitstellt. Middleware fungiert wie ein Filter und fügt benutzerdefinierten Code zwischen den Anforderungen und Antworten einer Anwendung ein. Mithilfe der Middleware k?nnen wir Anforderungen verarbeiten, überprüfen, filtern und die verarbeiteten Ergebnisse dann an die n?chste Middleware oder den endgültigen Handler weitergeben. Middleware im Yii-Framework ist sehr einfach zu verwenden

Yii Framework Middleware: Fügen Sie Ihrer Anwendung Protokollierungs- und Debugging-Funktionen hinzu Yii Framework Middleware: Fügen Sie Ihrer Anwendung Protokollierungs- und Debugging-Funktionen hinzu Jul 28, 2023 pm 08:49 PM

Yii-Framework-Middleware: Protokollierungs- und Debugging-Funktionen zu Anwendungen hinzufügen [Einführung] Bei der Entwicklung von Webanwendungen müssen wir normalerweise einige zus?tzliche Funktionen hinzufügen, um die Leistung und Stabilit?t der Anwendung zu verbessern. Das Yii-Framework stellt das Konzept der Middleware bereit, das es uns erm?glicht, einige zus?tzliche Aufgaben auszuführen, bevor und nachdem die Anwendung die Anfrage verarbeitet. In diesem Artikel wird erl?utert, wie Sie die Middleware-Funktion des Yii-Frameworks verwenden, um Protokollierungs- und Debugging-Funktionen zu implementieren. [Was ist Middleware?] Middleware bezieht sich auf die Verarbeitung von Anfragen und Antworten vor und nach der Verarbeitung der Anfrage durch die Anwendung.

So verwenden Sie das Yii-Framework in PHP So verwenden Sie das Yii-Framework in PHP Jun 27, 2023 pm 07:00 PM

Mit der rasanten Entwicklung von Webanwendungen ist die moderne Webentwicklung zu einer wichtigen F?higkeit geworden. Für die Entwicklung effizienter Webanwendungen stehen viele Frameworks und Tools zur Verfügung, unter denen das Yii-Framework ein sehr beliebtes Framework ist. Yii ist ein leistungsstarkes, komponentenbasiertes PHP-Framework, das die neuesten Designmuster und Technologien nutzt, leistungsstarke Tools und Komponenten bereitstellt und sich ideal für die Erstellung komplexer Webanwendungen eignet. In diesem Artikel besprechen wir, wie Sie das Yii-Framework zum Erstellen von Webanwendungen verwenden. Installieren Sie zuerst das Yii-Framework.

Schritte zum Implementieren von Webseiten-Caching und Seiten-Chunking mit dem Yii-Framework Schritte zum Implementieren von Webseiten-Caching und Seiten-Chunking mit dem Yii-Framework Jul 30, 2023 am 09:22 AM

Schritte zum Implementieren von Webseiten-Caching und Seiten-Chunking mit dem Yii-Framework Einführung: W?hrend des Webentwicklungsprozesses ist es zur Verbesserung der Leistung und Benutzererfahrung der Website h?ufig erforderlich, die Seite zwischenzuspeichern und zu segmentieren. Das Yii-Framework bietet leistungsstarke Caching- und Layoutfunktionen, die Entwicklern dabei helfen k?nnen, Webseiten-Caching und Seiten-Chunking schnell zu implementieren. In diesem Artikel wird erl?utert, wie das Yii-Framework zum Implementieren von Webseiten-Caching und Seiten-Chunking verwendet wird. 1. Aktivieren Sie das Webseiten-Caching. Im Yii-Framework kann das Webseiten-Caching über die Konfigurationsdatei aktiviert werden. ?ffnen Sie die Hauptkonfigurationsdatei co

So verwenden Sie Controller zur Verarbeitung von Ajax-Anfragen im Yii-Framework So verwenden Sie Controller zur Verarbeitung von Ajax-Anfragen im Yii-Framework Jul 28, 2023 pm 07:37 PM

Im Yii-Framework spielen Controller eine wichtige Rolle bei der Bearbeitung von Anfragen. Zus?tzlich zur Verarbeitung regul?rer Seitenanfragen k?nnen Controller auch zur Verarbeitung von Ajax-Anfragen verwendet werden. In diesem Artikel wird erl?utert, wie Ajax-Anfragen im Yii-Framework verarbeitet werden, und es werden Codebeispiele bereitgestellt. Im Yii-Framework kann die Verarbeitung von Ajax-Anfragen über die folgenden Schritte erfolgen: Erstellen Sie zun?chst eine Controller-Klasse (Controller). Sie k?nnen die vom Yii-Framework bereitgestellte grundlegende Controller-Klasse yiiwebCo erben

Debugging-Tools im Yii Framework: Profilerstellung und Debugging von Anwendungen Debugging-Tools im Yii Framework: Profilerstellung und Debugging von Anwendungen Jun 21, 2023 pm 06:18 PM

In der modernen Webanwendungsentwicklung sind Debugging-Tools unverzichtbar. Sie helfen Entwicklern, verschiedene Probleme mit ihren Anwendungen zu finden und zu l?sen. Als beliebtes Webanwendungs-Framework bietet das Yii-Framework natürlich einige Debugging-Tools. Dieser Artikel konzentriert sich auf die Debugging-Tools im Yii-Framework und erl?utert, wie sie uns bei der Analyse und dem Debuggen von Anwendungen helfen. GiiGii ist ein Codegenerator für das Yii-Framework. Es kann automatisch Code für Yii-Anwendungen wie Modelle, Controller, Ansichten usw. generieren. Mit Gii,

Verschlüsseln und entschlüsseln Sie sensible Daten mithilfe der Yii-Framework-Middleware Verschlüsseln und entschlüsseln Sie sensible Daten mithilfe der Yii-Framework-Middleware Jul 28, 2023 pm 07:12 PM

Verschlüsseln und Entschlüsseln sensibler Daten mithilfe der Yii-Framework-Middleware Einführung: In modernen Internetanwendungen sind Datenschutz und Datensicherheit sehr wichtige Themen. Um sicherzustellen, dass die sensiblen Daten der Benutzer nicht für unbefugte Besucher zug?nglich sind, müssen wir diese Daten verschlüsseln. Das Yii-Framework bietet uns eine einfache und effektive M?glichkeit, die Funktionen zum Verschlüsseln und Entschlüsseln sensibler Daten zu implementieren. In diesem Artikel erfahren Sie, wie Sie dies mithilfe der Middleware des Yii-Frameworks erreichen. Einführung in das Yii-Framework Das Yii-Framework ist ein leistungsstarkes PHP-Framework.

YII -Interview Fragen: Ace Ihr PHP -Framework -Interview YII -Interview Fragen: Ace Ihr PHP -Framework -Interview Apr 06, 2025 am 12:20 AM

Wenn Sie sich auf ein Interview mit YII Framework vorbereiten, müssen Sie die folgenden wichtigen Wissenspunkte kennen: 1. MVC -Architektur: Verstehen Sie die kollaborative Arbeit von Modellen, Ansichten und Controllern. 2. ActiveCord: Beherrschen Sie die Verwendung von ORM -Tools und vereinfachen Sie die Datenbankvorg?nge. 3.. Widgets und Helfer: Mit integrierten Komponenten und Helferfunktionen vertraut und die Benutzeroberfl?che schnell erstellen. Wenn Sie diese Kernkonzepte und Best Practices beherrschen, k?nnen Sie sich im Interview abheben.

See all articles