<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>PHP Archives - Kemal Özçelik</title>
	<atom:link href="https://www.kemalozcelik.com/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.kemalozcelik.com/category/php/</link>
	<description>Kişisel Blog</description>
	<lastBuildDate>Wed, 26 Jun 2019 17:20:27 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.0.2</generator>
<site xmlns="com-wordpress:feed-additions:1">155321232</site>	<item>
		<title>Passbolt Açık Kaynak Kodlu Parola Yönetim Yazılımı</title>
		<link>https://www.kemalozcelik.com/passbolt-acik-kaynak-kodlu-parola-yonetim-yazilimi/</link>
		
		<dc:creator><![CDATA[kemalozcelik]]></dc:creator>
		<pubDate>Mon, 24 Jun 2019 07:16:13 +0000</pubDate>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">https://www.kemalozcelik.com/?p=895</guid>

					<description><![CDATA[<p>Passbolt açık kaynak kodlu bir parola yönetimi yazılımı, tarayıcı üzerinden ekipler kayıtlı parolalara kolaylıkla erişebilir.</p>
<p>The post <a rel="nofollow" href="https://www.kemalozcelik.com/passbolt-acik-kaynak-kodlu-parola-yonetim-yazilimi/">Passbolt Açık Kaynak Kodlu Parola Yönetim Yazılımı</a> appeared first on <a rel="nofollow" href="https://www.kemalozcelik.com">Kemal Özçelik</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Passbolt PHP tabanlı bir parola yönetimi uygulaması, özellikle bir ekip olarak parolalara erişmek gibi bir ihtiyacınız varsa bunu hem herkesin ulaşabileceği bir platformu oluşturmak genel bir ihtiyaç haline dönüşüyor.</p>
<p>Passbolt bu ihtiyacı tam olarak çözüyor. Community Edition versiyonunu tamamen ücretsiz olarak indirip kurabileceğiniz gibi https://www.passbolt.com/pricing/pro sayfasındaki ücretli barındırma hizmetini içeren seçenekleride tercih edebilirsiniz.</p>
<p>Passbolt CSV, KDBX formatına hem içe aktarma hemde dışar aktarma yapabiliyor.</p>
<p>Passbolt ile ilgili ayrıntılı bilgiye resmi web sitesinden erişebilirsiniz. https://www.passbolt.com/</p>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://www.kemalozcelik.com/passbolt-acik-kaynak-kodlu-parola-yonetim-yazilimi/">Passbolt Açık Kaynak Kodlu Parola Yönetim Yazılımı</a> appeared first on <a rel="nofollow" href="https://www.kemalozcelik.com">Kemal Özçelik</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">895</post-id>	</item>
		<item>
		<title>MAUTIC Açık Kaynak Kodlu (Open Source) Pazarlama Otomasyonu</title>
		<link>https://www.kemalozcelik.com/mautic-acik-kaynak-kodlu-open-source-pazarlama-otomasyonu/</link>
		
		<dc:creator><![CDATA[kemalozcelik]]></dc:creator>
		<pubDate>Sat, 22 Jun 2019 19:05:17 +0000</pubDate>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">https://www.kemalozcelik.com/?p=891</guid>

					<description><![CDATA[<p>Mautic açık kaynak kodlu bir pazarlama otomasyonu, PHP ile yazılmış, PHP Mail Fonksiyonu, SMTP ve Mandrill, Sendgrid gibi popüler eposta servisleri ile entegre çalışabiliyor.</p>
<p>The post <a rel="nofollow" href="https://www.kemalozcelik.com/mautic-acik-kaynak-kodlu-open-source-pazarlama-otomasyonu/">MAUTIC Açık Kaynak Kodlu (Open Source) Pazarlama Otomasyonu</a> appeared first on <a rel="nofollow" href="https://www.kemalozcelik.com">Kemal Özçelik</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Mailchimp, Mandrill, Sendgrid, Mailgun gibi servisleri kullanıyorsanız Mautic&#8217;i konumlandırmak ve anlamak çok zor olmayacak.</p>
<p>Mautic Açık kaynak kodlu bir pazarlama yazılımı, PHP ile yazılmış. Toplu eposta gönderimi yapmanın dışında oluşturduğunuz bir kurguyu / süreci işleterek daha etkili bir sonuç almanızı sağlayacak fonksiyonları mevcut. Çok kısa örnek vermek gerekirse bir listeye toplu eposta gönderip açanlara daha önceden belirlediğiniz ikinci bir epostayı göndermek.</p>
<p>Hatta gönderdiğiniz epostada yer alan bağlantılardan A bağlantısını açanlara ikinci bir Eposta, B bağlantısını açanlara ise farklı bir eposta göndermek gibi.</p>
<p>Bunun yanı sıra Mautic ile eposta göndermek için genel ayarlar kısmından hangi yöntemi kullanarak epostalarınızı teslim edeceğinizi seçebiliyorsunuz, seçeneklerin arasında.</p>
<ul>
<li>PHP Mail Fonksiyonu</li>
<li>SMTP Sunucusu Kullanma</li>
<li>Mandrill</li>
<li>Sendgrid ve daha bir çok servise entegrasyon mevcut.</li>
</ul>
<p>Eposta oluştururken kullanılan sürükle ve bırak arayüzü çok kullanışlı değil ancak diğer fonksiyonlar ve avantajlar bu durumu görmezden gelmenizi sağlayacaktır.</p>
<p>Mautic&#8217;i sağlıklı bir şekilde kullanmak için zamanlanmış görevleri otomatik çalıştırmak üzere CRON ayarlamasını mutlaka yapmalısınız.</p>
<p>Mautic&#8217;in resmi web sitesi: https://www.mautic.org/</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://www.kemalozcelik.com/mautic-acik-kaynak-kodlu-open-source-pazarlama-otomasyonu/">MAUTIC Açık Kaynak Kodlu (Open Source) Pazarlama Otomasyonu</a> appeared first on <a rel="nofollow" href="https://www.kemalozcelik.com">Kemal Özçelik</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">891</post-id>	</item>
		<item>
		<title>PHP PDO Hata Denetimi ve Yorumlama</title>
		<link>https://www.kemalozcelik.com/php-pdo-hata-denetimi-ve-yorumlama/</link>
		
		<dc:creator><![CDATA[kemalozcelik]]></dc:creator>
		<pubDate>Mon, 07 Jan 2019 11:00:47 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">http://www.kemalozcelik.com/?p=782</guid>

					<description><![CDATA[<p>PHP PDO veritabanında oluşan hata mesajlarını ayrıntılı şekilde görebilmek.</p>
<p>The post <a rel="nofollow" href="https://www.kemalozcelik.com/php-pdo-hata-denetimi-ve-yorumlama/">PHP PDO Hata Denetimi ve Yorumlama</a> appeared first on <a rel="nofollow" href="https://www.kemalozcelik.com">Kemal Özçelik</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>PDO ile gerçekleştirdiğimiz sorgularda oluşan hataları ekrana basıp görebilmek için</p>
<p><code>&lt;?<br />
</code><code>/* Bir hata oluşturalım --BONES diye bir tablo olmasın */<br />
$dbh-&gt;exec("INSERT INTO bones(skull) VALUES ('lucy')");<br />
echo "\nPDO::errorCode(): ";<br />
<strong>print $dbh-&gt;errorCode();</strong><br />
?&gt;</code></p>
<p>metodunu kullanabiliriz. <strong>$dbh</strong> PDO nesnesini oluşturduğumuz değişken, kendi örneğinizde bu değişkenin sizdeki karşılığını kullanmalısınız.</p>
<p>Bu örneğin çıktısı,<br />
<code>PDO::errorCode(): 42S02</code></p>
<p>Bu metodu kullandık ancak ekrana sadece hata kodunu yazdırdık Hata kodu bizim için yeterince açıklayıcı değilse, aşağıdaki metodu kullanabiliriz.</p>
<p><code><!--?php /* Bir hata oluşturalım -- hatalı bir SQL sözdizimi */ $stmt = $dbh-&gt;prepare('bozuk sql');&lt;br ?-->&lt;?<br />
if (!$stmt) {<br />
echo "\nPDO::errorInfo():\n";<br />
<strong>print_r($dbh-&gt;errorInfo());</strong><br />
}<br />
?&gt;</code></p>
<p>Bu örneğin çıktısı,</p>
<p><code>PDO::errorInfo():<br />
Array<br />
(<br />
[0] =&gt; HY000<br />
[1] =&gt; 1<br />
[2] =&gt; near "bozuk": syntax error<br />
)</code></p>
<p>Biraz daha ayrıntıya ihtiyacımız var dersek bu durumda PDO&#8217; nun hataların nasıl ele alacağını etkileyen <strong>PDO::ATTR_ERRMODE </strong>yapılandırmasını PDO nesnesini oluşturduğumuz sırada düzenlemeliyiz. Bu yapılandırma aşağıdaki değerleri alabiliyor.</p>
<p><code>PDO::ERRMODE_SILENT // Varsayılan Ayar</code></p>
<p>Bu öntanımlı kiptir. PDO, gerek veritabanı gerekse deyim nesneleri üzerinde <span class="function"><a class="function" href="http://php.net/manual/tr/pdo.errorcode.php">PDO::errorCode()</a></span> ve<span class="function"><a class="function" href="http://php.net/manual/tr/pdo.errorinfo.php">PDO::errorInfo()</a></span> işlevlerini kullanarak hata kodunu sizin için hazır hale getirir. Eğer hata bir deyim nesnesiyle ilgili bir işlev veya yöntem çağrısından kaynaklanmışsa bu nesne üzerinde <span class="function"><a class="function" href="http://php.net/manual/tr/pdostatement.errorcode.php">PDOStatement::errorCode()</a></span> veya<span class="function"><a class="function" href="http://php.net/manual/tr/pdostatement.errorinfo.php">PDOStatement::errorInfo()</a></span> işlevini kendiniz çağırmalısınız. Eğer hata bir veritabanı nesnesiyle ilgili bir işlev veya yöntem çağrısından kaynaklanmışsa bu işlevleri bu kez veritabanı nesnesi üzerinde çağırmalısınız.</p>
<p><code>PDO::ERRMODE_WARNING</code></p>
<p>Hata kodu ayarlarına ek olarak, PDO geleneksel bir E_WARNING uyarısı da verir. Bu kip, hata ayıklama ve denemeler sırasında uygulama akışının kesilmeden oluşan sorunları görmek için kullanışlıdır.</p>
<p><code>PDO::ERRMODE_EXCEPTION</code></p>
<p class="para">Hata kodu ayarlarına ek olarak, PDO bir <a class="classname" href="http://php.net/manual/tr/class.pdoexception.php">PDOException</a> istisnası oluşturup hata kodunu ve iletisini nesnenin özelliklerine yerleştirir. Bu kip de hata ayıklama sırasında uygulama akışının kesilmeden oluşan sorunları çabucak görüp müdahale etmek için kullanışlıdır. (Dikkat: Eğer istisna betiğin sonlanmasına sebep olursa veri hareketleri (transactions) özdevinimli olarak başa sarılır.)</p>
<p class="para">Bu kip bir istisna nesnesi ile çalıştığından, hataların, her veritabanı çağrısında dönen değere bakmaktan, sessiz kipi kullanmaktan ve geleneksel PHP tarzı uyarılardan daha iyi ve daha kolay işleme sokulmasını sağlar.</p>
<p class="para">PHP&#8217;deki istisna nesneleri hakkında bilgi edinmek için <a class="xref" href="http://php.net/manual/tr/language.exceptions.php">İstisnalar</a> bölümüne bakınız.</p>
<p>&nbsp;</p>
<pre class="default prettyprint prettyprinted"><code><span class="pun">&lt;?</span><span class="pln">php</span><span class="pln">
    $dbh </span><span class="pun">=</span> <span class="kwd">new</span><span class="pln"> PDO</span><span class="pun">(</span><span class="str">'mysql:host=localhost;dbname=test;charset=utf8'</span><span class="pun">,</span> <span class="str">'localonly'</span><span class="pun">,</span> <span class="str">'localonly'</span><span class="pun">);</span><span class="pln">
    $dbh</span><span class="pun">-&gt;</span><span class="pln">setAttribute</span><span class="pun">(</span><span class="pln">PDO</span><span class="pun">::</span><span class="pln">ATTR_ERRMODE</span><span class="pun">,</span><span class="pln"> PDO</span><span class="pun">::</span><span class="pln">ERRMODE_EXCEPTION</span><span class="pun">);</span><span class="pun">
?&gt;
</span></code></pre>
<p>Canlı / ürün ortamında <code>PDO::ERRMODE_SILENT</code> geliştirme ortamında ise <code>PDO::ERRMODE_EXCEPTION</code> yapılandırmasını kullanmak daya uygundur.</p>
<p>&nbsp;</p>
<p><strong>Kaynaklar:</strong></p>
<p>http://php.net/manual/tr/pdo.error-handling.php</p>
<p>https://stackoverflow.com/questions/8776344/how-to-view-query-error-in-pdo-php</p>
<p>http://php.net/manual/tr/pdo.errorcode.php</p>
<p>http://php.net/manual/tr/pdo.errorinfo.php</p>
<p>The post <a rel="nofollow" href="https://www.kemalozcelik.com/php-pdo-hata-denetimi-ve-yorumlama/">PHP PDO Hata Denetimi ve Yorumlama</a> appeared first on <a rel="nofollow" href="https://www.kemalozcelik.com">Kemal Özçelik</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">782</post-id>	</item>
		<item>
		<title>Prestashop Telefon Formatı Kontrolünü Yoksaymak</title>
		<link>https://www.kemalozcelik.com/prestashop-telefon-formati-kontrolunu-yoksaymak/</link>
		
		<dc:creator><![CDATA[kemalozcelik]]></dc:creator>
		<pubDate>Tue, 25 Dec 2018 19:15:53 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Prestashop]]></category>
		<guid isPermaLink="false">http://www.kemalozcelik.com/?p=731</guid>

					<description><![CDATA[<p>Prestashop açık kaynak kodlu popüler bir e-ticaret yazılımı, yazılım oldukça iyi özelliklere sahip ancak bazı durumlarda özelleştirmeler yapmak gerekebiliyor.</p>
<p>The post <a rel="nofollow" href="https://www.kemalozcelik.com/prestashop-telefon-formati-kontrolunu-yoksaymak/">Prestashop Telefon Formatı Kontrolünü Yoksaymak</a> appeared first on <a rel="nofollow" href="https://www.kemalozcelik.com">Kemal Özçelik</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Prestashop açık kaynak kodlu popüler bir e-ticaret yazılımı, yazılım oldukça iyi özelliklere sahip ancak bazı durumlarda özelleştirmeler yapmak gerekebiliyor.</p>
<p>Ürünü sepetine eklemiş olan müşterimiz üyelik aşamasında yada telefon bilgilerine girerken prestashop&#8217;un telefon numarası doğrulama metoduna takılıp ürünü satın almaktan vazgeçebilir. Standart durumda bu input alanında hangi formatta girileceğine dair bir placeholder yada input mask bulunmuyor. Türkiye için doğru format +905321234567 ancak bu formatı sıradan bir kullanıcının doğru girmesi olası değil.</p>
<p><strong>/classes</strong> klasörü içerisinde <strong>Validate.php</strong> dosyasını editleyerek bu formatı değiştirmek yada iptal etmek mümkün.</p>
<p><strong>ORJİNALİ</p>
<p></strong><code>public static function isPhoneNumber($number)<br />
{<br />
return preg_match('/^[+0-9. ()-]*$/', $number);<br />
}<br />
</code></p>
<p><strong>GÜNCELLENMİŞ HALİ</strong></p>
<p><code>public static function isPhoneNumber($number)<br />
{<br />
return true;<br />
}<br />
</code></p>
<p>&nbsp;</p>
<p>https://www.prestashop.com/forums/topic/393876-how-disable-phone-number-format-check/</p>
<p>The post <a rel="nofollow" href="https://www.kemalozcelik.com/prestashop-telefon-formati-kontrolunu-yoksaymak/">Prestashop Telefon Formatı Kontrolünü Yoksaymak</a> appeared first on <a rel="nofollow" href="https://www.kemalozcelik.com">Kemal Özçelik</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">731</post-id>	</item>
	</channel>
</rss>
