Yii2 urlManager

config/main.php dosyasında bulunan UrlMaanger componenti ile Yii projelerinizde görünen Url yapınızı biçimlendirebilirsiniz.
basit haliyle :

‘urlManager’ => [

‘enablePrettyUrl’ => true,
‘showScriptName’ => false,

],

Burada yaptıgımız işlemler;

‘enablePrettyUrl’ => true,

Pretty url yi etkinleştimek : sadece bu işlemi yaptıgınızda projenizde var olan linklere tıkladıgınızda “?r=site/about” şeklinde değil “/site/about” şeklinde yönlendirilmeye başladığını göreceksiniz.

ancak bazı yönlendirmeler hala çalışmıyor:

çözümü için “web/” dizininde yeni bir “.htaccess” dosyası oluştuyoruz.

ve içeriği:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\?*$ index.php?r=$1 [L,QSA]

ve artık linklerimiz çalışıyor.

ancak id veya parametre içeren sayfalara gittiğinizde hala “/user/update?id=2” urller görüyoruz. Hadi bunları da yönlendirelim,

bunun için yine config/main.php dosyamıza gidelim ve rules kısmına;

‘urlManager’ => [
‘enablePrettyUrl’ => true,
‘showScriptName’ => false,
‘rules’ => [

&#8216;<controller:\w+>/<id:\d+>&#8216;=>&#8217;<controller>/view&#8217;,
&#8216;<controller:\w+>/<action:\w+>/<id:\d+>&#8216;=>&#8217;<controller>/<action>&#8216;,
&#8216;<controller:\w+>/<action:\w+>&#8216;=>&#8217;<controller>/<action>&#8216;,

],
],

şeklinde ekleyelim.

artık urllerimiz sağlıklı çalışıyor.

Php mb_convert_encoding fonksiyonu ve türkçe karakter düzeltme

Projelerde özellikle farklı dosya tiplerinden (excel, csv) veri okuyup yazdığımız veya farklı veritabanından veri aktarırken sık karşılaşılan problemlerden birisi de Türkçe karakter hatasıdır.
Bunun birçok çözüm yolu mevcuttur, eğer veritabından çektiğiniz verilerde türkçe karakter sorunu yaşıyorsanız mysql bağlantınıza charset set etmek, php dosyanıza header content-type eklemek bunlardan bazılarıdır. Ancak zaman olur ki herşey yapılmışken hala bazı verilerinizde türkçe karakterler bozuk gözükür buna örnek olarak “ş” karfi düzgün gözükürken “Ö” harfi hatalı karakter olarak gelebilmektedir.
Devamı

Curl Could not resolve host Hatası

Merhaba, Curl birçok arkaplan veri aktarımı işlemlerinde hayat kurtarıcımız olur, karşılaştığım bir hatayı ve çözüm yolunu buraya bırakıyorum, ben çektim siz de çekmeyin 🙂

Öncelikle curl hatalarını yazdırmak için:

print_r(“Hata “.curl_error($ch));

burdaki $ch kendi tanımladığınız cUrl değerine göre farklılık gösterebilir.

bu satırın sonucu olarak
Could not resolve host:domainadi.com

gibi bir hata ile karşılaşıyorsanız,

Devamı