CakePHP - Görünümler
MVC'deki "V" harfi Görünümler içindir. Görünümler, isteğe bağlı olarak kullanıcıya çıktı göndermekten sorumludur.View Classes geliştirme sürecini hızlandırmanın güçlü bir yoludur.
Şablonları Görüntüle
CakePHP'nin Şablonları Görüntüle dosyası, kontrolörden veri alır ve ardından çıktıyı kullanıcıya doğru şekilde görüntülenebilmesi için işler. Şablonda değişkenler, çeşitli kontrol yapıları kullanabiliriz.
Şablon dosyaları şurada saklanır: src/Template/, dosyaları kullanan denetleyicinin adını taşıyan ve karşılık gelen eylemin adını taşıyan bir dizinde. Örneğin,ViewÜrün denetleyicisinin dosyası “view()” eylem, normalde src / Template / Products / view.php içinde bulunur.
Kısacası, denetleyicinin adı (ProductsController), klasörün (Ürünler) adıyla aynıdır, ancak Denetleyici sözcüğü ve denetleyicinin (ProductsController) eylem / yöntem adı (view ()) olmadan, View dosyası (view.php).
Değişkenleri Görüntüle
Görünüm değişkenleri, değeri denetleyiciden alan değişkenlerdir. Görünüm şablonlarında istediğimiz kadar değişken kullanabiliriz. Kullanabilirizset()görünümlerdeki değişkenlere değer iletme yöntemi. Bu set değişkenleri, eyleminizin oluşturduğu hem görünümde hem de düzende mevcut olacaktır. Aşağıdaki sözdizimiset() yöntem.
Cake\View\View::set(string $var, mixed $value)
Bu yöntem iki argüman alır - the name of the variable ve its value.
Misal
Değişiklik Yapın config/routes.php dosya aşağıdaki programda gösterildiği gibi.
config/routes.php
<?php
use Cake\Http\Middleware\CsrfProtectionMiddleware;
use Cake\Routing\Route\DashedRoute;
use Cake\Routing\RouteBuilder;
$routes->setRouteClass(DashedRoute::class);
$routes->scope('/', function (RouteBuilder $builder) {
// Register scoped middleware for in scopes.
$builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
'httpOnly' => true,
]));
$builder->applyMiddleware('csrf');
$builder->connect('template',['controller'=>'Products','action'=>'view']);
$builder->fallbacks();
});
Oluşturmak ProductsController.php dosya src/Controller/ProductsController.php. Aşağıdaki kodu denetleyici dosyasında kopyalayın.
src/Controller/ProductsController.php
<?php
declare(strict_types=1);
namespace App\Controller;
use Cake\Core\Configure;
use Cake\Http\Exception\ForbiddenException;
use Cake\Http\Exception\NotFoundException;
use Cake\Http\Response;
use Cake\View\Exception\MissingTemplateException;
class ProductsController extends AppController {
public function view(){
$this->set('Product_Name','XYZ');
}
}
Ürün dizini oluştur src/Template ve bu klasörün altında bir Viewview.php adlı dosya. Aşağıdaki kodu o dosyaya kopyalayın.
Value of variable is: <?php echo $Product_Name; ? >
Aşağıdaki URL'yi ziyaret ederek yukarıdaki örneği yürütün.
http: // localhost / cakephp4 / şablon
Çıktı
Yukarıdaki URL aşağıdaki çıktıyı üretecektir.