:
soyutlama ekstra katman, yardımcı uzanan kombine/ağır basan çok kolay az yaygara ile uygulama çıktı boyunca mantığın basit bit değiştirmek için yapar.
Açıklamak gerekirse, bir örnek kullanacağım.
<form action="<?php echo site_url('controller/method'); ?>" method="post">
vrs
<?php echo form_open('controller/method');
Önce formu eylem bağlantıyı oluşturmak için kullanılan site_url()
işleviyle, bunu yapmak için standart HTML
yolunu göreceksiniz. İkincisi form_open()
etiketini göreceksiniz - ve bu örnekte daha kısa, wahey!
Verilerimin tümünü UTF-8 in CodeIgniter tutmak için tüm formlarımda accept-charset="UTF-8"
ayarlamak için bir yol istedim. Sadece HTML
kullanıyor olsaydım, o zaman tüm formlarımı kullanmalı ve bunu kendime ekleyeceğim, ki bu da barda harcadığım zamanı boşa harcayacaktı.
Bunun yerine, CodeIgniter, yardımcıları genişletmenize izin verdiği için, bu mantığı içeren application/helpers/MY_form_helper.php
numaralı form_open()
numaralı kendi biraz değiştirilmiş.
Kullanışlı verilerimi sarmak için PHP kullanıyordum, tek bir basit değişiklik yapabilir ve tüm etiketlerimi güncelleyebilirim.
Temel sorun, kullanıcıların bu HTML
yardımcı işlevlerine bakıp bunları yalnızca farklı sözdizimi olarak görmeleridir. tam makale ziyareti için
:
http://philsturgeon.co.uk/blog/2009/12/Why-CodeIgniter-HTML-helper-functions-rock
Tüm görüntüleme dosyalarımı yalnızca HTML olarak tutmamı sağlayan ve onları tasarımcılara daha erişilebilir kılan bir özel şablon sistemi kullandığım için bunlardan kaçınmaya eğilimliyim. Eğer csrf jetonlarında yerleşik kod senaryosunu kullanmak istiyorsanız, formları açmak/kapamak için form yardımcısını kullanmanız gerekecek, ancak sanırım çoğunlukla kendi tercihinize göre. – Jeemusu
@Jeemusu, CSRF tokenleri için form yardımcısını kullanmanız gerekmediğinden, sadece şunu yapabilirsiniz: ' security-> get_csrf_hash(); ?> '/' ' –
@cryptic ツ - Keşke bunu daha önce biliyordum: P Cheers. – Jeemusu