Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

Notice: WP_Scripts::localize hatalı çağırıldı. $l10n parametresi bir dizi olmalıdır. Komut dosyalarına rastgele verileri iletmek için bunun yerine wp_add_inline_script() işlevini kullanın. Daha fazla bilgi için lütfen WordPress hata ayıklama adresine bakın. (Bu mesaj 5.7.0 sürümünde eklendi.) in /home/u6294730/public_html/wp-includes/functions.php on line 5313

[vc_row][vc_column width=”1/1″]

[vc_column_text]PHP’ye başlamaya hazır mısın? Başta eğer önceden PHP dışında bir programlama dili öğrendiysen PHP öğrenmekte hiç zorluk çekmeyeceğine garanti verebilirim. Ama eğer PHP, programlama alanında ilk deneyimin olacaksa bu seferde gerçekten iyi bir dil ile başlangıç yapıyor olduğunun garantisini verebilirim.

Önce sabırlı olmak lazım

İlk sabır diyorum çünkü PHP’yi öğrenmeye başlamadan önce bu konuda anlaşmamız gerekiyor. Eğer hiç yorulmadan, az kafa yorup, bir kaç bilek ve parmak hamlesiyle ve çok kısa zamanda öğrenemeyeceğin kadar şey öğrenerek köşeyi dönmeyi planlıyorsan, seni bu işten kâr yerine zarar ve bunalımla çıkabileceğin konusunda uyarıyorum.

Tabii bu yanlızca başlangıcın için geçerli. Başlangıç dönemini atlattıktan sonra bir kaç parmak ve kıvrak zeka hamleleriyle gerçekten köşeyi dönebilirisin. Hatta başkalarınında döneceği köşeler bile oluşturabilirsin.

Neden sabır lazım? Öğrenmek uzun mu sürüyor?

Kesinlikle hayır. İnternette “15 dakikada PHP öğrenin” bile gördüm ben. Bu konuda rekabet yapmak gibi bir derdimiz yok tabii ki ama bu zaman sana bağlı. Sabır meselesi daha çok programlamanın içinde lazım olacak. Bu temelleri öğrenmen belki dakikalarını alacak, bu kişiden kişiye göre değişir ama sonrasında…

Bir çalışmayı kodlamaya başladığında bazen tek bir nokta işareti yüzünden hata alacaksın ve o noktayı bulman saatlerini alacak. Halbuki basit bir sorun ama inan gerçekten şaşıracağın hatta bazen suç benim kodumda değil PHP’de ya da bu kodları işleyen bilgisayarda diyeceksin. İşte bu tip aksaklıklardan ve bazı sorunlardan kurtulup ilerlemeye devam edebilmen için sabra ihtiyacın olacak.

Sabırsız mısın?

Eğer sabırlı olmayıp da PHP’yi öğrenme konusunda ısrarcıysan bence ısrarının bir kısmını sabırlı olmakta kullanmalı ve dengeyi sağlamalısın. Yoksa tam bitiş çizgisine gelip, daha çok fazla yolun olduğunu düşünüp, yarışı terkedip, üzücü bir şekilde kaybedebilirsin.

Nereden başlıyoruz?

php-300x157Şuan bu satırları okurken eğer kendinden eminsen ve içini sabır dolu hisler sardıysa kendine şimdiden bir PHP Developer (Yazılımcı) ünvanı verebilirsin. Çünkü ne demiş atalarımız “sabreden derviş muradına ermiş” ve “sabrın sonu selamettir“, her şey sabır mı ya? diye soracak olursan da; hayır, eğer gerçekten istiyorsan da başarırsın. Çünkü eğer gerçekten başarmak istiyorsan sabırlı olursun (:

Bu kısa motivasyonun ardından artık neler öğreneceğini belirlemenin ve yol haritanı çizmenin zamanı geldi. İşte PHP programlama diline başlamak için öğrenmen gereken temel konular;

  1. PHP nedir ve neler yapılabilir?
  2. Kendi PHP sunucunu oluştur ve kodlamaya başla.
  3. PHP değişkenleri, sabitleri ve dizinleri.
  4. PHP ile çerezler(cookie) ve session (oturum yönetimi).
  5. PHP veri tipleri.
  6. PHP ifadeleri ve operatörleri.
  7. PHP döngüleri.
  8. PHP fonksiyonları.

Tüm bu konuların ardından bir level atlayarak orta seviyeye geçeceksin bu konuda ilerleme ivmen her yeni bir şey öğrendiğinde katlanır. Yani başlangıç seviyesini 1 haftada kavrarsan orta seviyedeki çalışmaları yarım haftada kavrayacak hale gelirsin.

Kurcalanacak diğer kaynaklar

Başta büyük bir kısmı Türkçe’ye çevrilmiş ve çevrilmeye devam eden PHP’nin kendi sitesi olan tr.php.net bize bu yolda ışık tutacak, fonksiyonların açıklamalarını bulabileceğimiz ve çoğunun örnekleriyle karşılaşabileceğimiz bir yer.

Sonrasında ise takıldığımız tüm sorunlarda daha öncelerden birilerinin bu konuda yapmış olduklarını bulmamızı sağlayacak kurtarıcımız Google. Ve diğer bakılası ve kurcalanası siteler;w3schools, wikipedia[/vc_column_text]

[vc_column_text]PHP kısaca web tabanlı bir programlama dilidir. Eskiden açılımı “Personal Home Page” yani Kişisel Anasayfa iken günümüzde gelişmesi ve daha iyi anlam kazanması ile “PHP: HypertextPreprocessor” yani Üstün Yazı Önişlemcisi olmuş.

Diğer web tabanlı dillere göre onlarca avantajı olan ve günümüzde en popüler dillerden birisi. İnternet üzerindeki durağan sabit yazılara dinamiklik katmamızı sağlayan bir web tabanlı dil olan PHP, en iyi performansı MYSQL veritabanı ve linux işletim sistemi ile gösterir.

Avantajları

  1. PHP hemen hemen her platformda çalışabiliyor. PHP aynı kod temelini kullandığı için, UNIX, Windows (95/98/NT/2000) ve Mac OS dahil olmak üzere 25 platformda derlenip kurulabilir. Kodlar aynı olduğundan script’ler platformdan bağımsız olarak çalışacaktır.
  2. PHP, uzantı alabilmektedir. Uygulamanın içerisinde yer alan çekirdek motor (Zend tarafında yazıldı), bir dizi asal kod modüllerinden ve kod uzantılarından oluşmaktadır. Bu nedenle programcılara PHP uzantıları yaratarak bazı özel işlemlerini yapabilmeleri için iki seçenek sunuluyor; ya uzantı modüllerini yazarak uygulanabilen bir derleme yapmak, ya da PHP’nin dinamik yükleme mekanizmasıyla yüklenebilecek uygulanabilir uzatmalar yaratmak.
  3. PHP pek çok HTTP server arayüzü barındırıyor. PHP Apache’ye, AOL server’a, Roxen ve THTTPD’ye doğrudan yüklenebiliyor. Alternatif olarak CGI modülü olarak da kullanılabilir.
  4. PHP pek çok veritabanı arayüzü bulunduruyor. PHP, MySQL, MS SQL, Oracle, Informix, PostgreSQL ve diğerleriyle doğrudan çalışabiliyor. Bunlar ikili sayı düzenindeki arayüzlerden oluşmaktadır ve bu çözümler için veritabanının desteklenmediği yerlerde ODBC desteği sağlıyor.
  5. Bir PHP kullanıcısı herhangi bir kütüphane için arayüz oluşturmakta zorluk çekmez. Pek çok kullanıcı bu yolu seçmiş, grafik rutinleri, PDF dosyaları, Flash Movie’leri, Cybercash cetvelleri, XML, IMAP, POP ve diğerleriyle ilgili modüller bulabilmiştir.
  6. PEAR, PHP’nin uzantısı ve Add-on deposudur. Pear, Perl için geliştirilen CPAN’e benzemektedir. Halen başlangıç aşamasında olmasına rağmen PEAR, PHP’nin kurulumuyla birlikte gelecek bir dizi PHP script’ini kullanıma sunmaktadır.
  7. PHP bir açık kod uygulamasıdır ve pek çok profesyonel kullanıcı için çok şey ifade etmektedir. Basitçe açıklamaya çalışırsak PHP kullanıcıyı, çalışmayan uygulamalar için üretici firmanın keyfini beklemekten, her yıl sistemini belli paralar ödeyerek güncelleme zorunluluğundan kurtarmaktadır.

1995 yılında Rasmus Lerdorf tarafından oluşturulan PHP günümüzde halen geliştirilmesine devam edilmekte. En son sürümü PHP5 olmasıyla beraber tamamen açık kaynaklı ve ücretsizdir.

PHP ile neler yapılabilir?

php-siteler

 

Aslında PHP ile neler yapılamaz diye sorsan daha rahat cevap verirdim. Malum HTML5‘in gelmesi ile artık browserlar ile neredeyse her şeyi yapabiliyoruz. Dökümanlar, resimler, videolar, oyunlar ve internette aklınıza ne gelirse…

Bu durumda PHP gibi bir web tabanlı programlama dili ile ve gelişen browser özellikleri sayesinde artık her şeyi yapabiliriz. İşin aslı sana bu konuda bir sınır koymamak için böyle söylüyorum. Aklına ne geliyorsa yeterli bir birikim ile yapabilirsin.

Biraz saymamı istersen;

  • İçerik yönetim sistemleri (Drupal, Joomla, WordPress, …)
  • Dinamik sayfalar
  • Veri depolama sistemleri (Senduit, Imageshack.us, …)
  • Anlık bilgi paylaşımı (Facebook, …)
  • E-ticaret sistemleri (ShopPhp, …)
  • Otomasyon yazılımları
  • Resim oluşturma ve düzenleme
  • Online oyunlar (Travian, Ogame, …)
  • Forumlar, makaleler, sözlükler (Wikipedia, Vbulletin, MyBB, …)
  • İçerik bulup derleyen botlar
  • Web tabanlı robotlar

ve daha temel anlamda sayamadığım ve senin gerçekleştirmeni bekleyen sonsuz şeyler.

Dahası

Benim dediklerimle sınırlı kalmayıp biraz burayı ve sonra burayı gezebilirsin.

[/vc_column_text]

[vc_column_text]Programlama dillerini lisan dilleri ile kıyaslayıp, bu alanda nasıl gelişildiği başta olmak üzere bir çok merak edilen sorunun cevabını bir örnek ile vermek istiyorum.

İlkokulu bitirmiş herkes 29 harfi öğrenmiş olur, okumasını ve yazmasını bilir. Fakat iş hikaye veya şiiryazmaya gelince bunu herkes yapamaz.

WordPress de sloganında “Code is poetry” Türkçesiyle “Kod şiirdir” diyerek benim de bu örnekte anlatmaya çalışacağım durumdan bahsediyor.

Hepimiz alfabeyi biliriz ama şairler gibi şiirler, yazarlar gibi hikayeler yazamayız. Onlar daha az kelimeyle daha çok şey anlatır, bir paragraf ile koskoca bir dünyayı kafamızda canlandırır.

Burada nasıl şair ya da yazar olunur gibi derin bir konuyu girmeyeceğim elbet, sadece benim izah etmek istediğim kıyaslama durumunun anlaşılmasına yetecek kadar basitleştireceğim. Güzel şiirler yazabilmemiz için iyi bir gözlemci olmalı ve bolca güzel şiirler okumalıyız. Her okuduğumuz şiirde yeni bir betimleme ya da bir incelik farkederiz, tüm bunların birikiminde artık kendi duygularımızı da rahat şekilde şiir ile ifade etmeyi başarırız. Daha fazla şiir ve hikaye okudukça bizim de okuma ve yazmamız güçlenir, hızlanır, ufkumuz açılır.

Programlama dillerinde de benzer olarak daha önceden yazılmış kodları incelemek en makul gelişim yollarından birisi. Başkalarının geliştirdiği devasa mimarilerin planlarına bakıp bir şeyler kapmak, bir çok ders ya da anlatımdan katlarca kez fazla şey öğretebilir.

Sonuç olarak, en sık sorulan “Ben öğrendim ama nerede nasıl kullanacağımı tam anlamadım“, “Şu fonksiyon nerede kullanılır?“, “Temel konuları öğrendim ama bir şey yapamıyorum” gibi sorunların cevabı da anlattığım bu örnekte yatıyor.

Bu sorular Türkçe’de A harfini nerelerde kullanırız? Nasıl kullanırız? Gibi sorulara eş değer oluyor. Cevap ise; biraz hikaye, roman ve şiir okumamız yeterli. Yani en son dediğim gibi yapılmış, geliştirilmiş kodları incelemeniz, ifadelerin nelerlerde nasıl kullanılacağı konusunda en iyi kaynağını sağlar.

Mutlu kodlamalar dileğiyle![/vc_column_text]

[vc_column_text]serverKendi bilgisayarımızı sunucumuz gibi yapıp PHP kodlaramızı derleyip çalıştırabilmek için Apache, Mysql ve PHP kurmamız gerekiyor.

Şimdi kurulumlarımızı bebarerce gerçekleştirelim ve “Merhaba Dünya“mızı yazalım. Kurulumlarımızı başarılı bir şekilde gerçekleştirdikten sonra işin yorucu kısmı bitmiş geriye sadece eğlence kısmı kalmış olacak.

Bu üç kurulum seni zorlayacaksa direk buraya tıklayıp basit ve hızlı bir şekilde Wamp Server‘i kurup üçü bir arada PHP serverini oluşturabilirsin. Ama sana tavsiyem üçünü normal bir şekilde kurman, bu sayede PHP’nin çalışma mantığını daha iyi anlamış olursun.

Apache Kurulumu

İlk olarak Apache’yi buradan indiriyoruz. (11 MB) O inerken bende biraz Apache nedir, ne işe yarar onlardan bahsedeyim.

Apache Nedir ?
Apache projesi güvenliği, ticari dereceli, özellikli ve kaynak koduna bedava ulaşılabilir bir web sunucu uygulamasını amaçlayan işbirlikçi yazılım geliştirme çabasıdır. Proje dünya üzerinde iletişim, plan ve geliştirme için Web ve interneti kullanan gönüllüler grubu tarafından yönetiliyor. Bu gönüllüler Apache grubu olarak bilinirler. Buna ek olarak yüzlerce insanda bu projeye düşünce, kod ve belge katkısı yapar. Bu belge Apache Grubunun tarihini tanımlamak ve katılımcılarını tanımayı hedefler.

İndirdiğimiz “.MSI” uzantılı dosyayı çalıştırıyoruz ve kuruluma geçiyoruz. Kurulum biterken bizden bir takım bilgiler isteyecektir. Domain adı gibi vs. localhost yazıp geçmeniz yeterli olacaktır.

Kurulum bittikten sonra Apache’mize start veriyoruz, browser’imizin adres satırına http://localhost/yazdığımızda karşımıza “It works !” yazısı geliyorsa Apache’miz sorunsuz bir şekilde kurulmuş ve çalışıyor hayırlı olsun. Sona bir adım daha yaklaşmış oluyoruz.

Php Kurulumu

İlk olarak buradan PHP’nin en güncel versiyonunu indiriyorsun (Yaklaşık 13 MB). İndirme tamamlandıktan sonra PHP’yi Apache’ye tanıtıp ilk çalışmanı gerçekleştirmeye başlayabilirsin.

Önce tar.gz(.rar) dosyasını açarak içindei dosyaları dışarı çıkartıyoruz.

Apache’mizi durduralım üzerinde işlemler yapacağız çünkü. Apache klasörümüze gidiyoruz. içerisinden Conf klasörü ve httpd.conf’ u buluyoruz, Notepad yardımı ile acıyoruz. Conf dosyamızı ve en alt satırına

LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php

Ekliyoruz tabi c:/php/php5apache.dll olması gerek rar dan cıkan php dosyalarınızı c’ye kopyaladığınız zaman bir problem kalmayacaktır.Daha sonra c:/php/*.dll yani php klasorundeki tüm dll uzantılı dosyaları kopyalıyoruz ve c:/windows/system32 içerisine kopyalıyoruz.

Ardından tekrar c:/php içerisine dönüyoruz php.ini-development buluyoruz adını değiştiriyoruzphp.ini olarak ve bunuda c:/windows içerisine atıyoruz ve apachemize start diyoruz. Phpmiz de kurulmuş olmaktadır hayırlı olsun!

Mysql Kurulumu

Mysql’in de en son sürümünü buradan inirip kuruyoruz. Mysql de kendiliğinden kurulacaktır. Kurulum sonunda bizden Mysql kullanıcı adımızı ve şifremizi soracaktır, onları yaztıktan sonra bitiriyoruz.

Apache, Php ve Mysql tamamdır. Artık her şey hazır PHP’ye merhaba demeye çok az kaldı.

Php IDE

Benim size tavsiyem. Eclipse PHP IDE hatalarmızı anlamamızda bize daha iyi yardımcı olmaktadır. Tabi çeşitli php ide’leri bulunmaktadır. Zend, Dreamweaver vs gibi.

Evet artık sonlara geldik. IDE’mizi yeni bir php dosyası oluşturuyoruz.

yazıp c:/apache/htdocs içine kaydediyoruz ve en son olarak browser adres bölümüne http://localhost/dosyaadimiz, index.php yatıysanız eğer gerek yok dosya adı yazmanıza direk http://localhost yazmanız yeterlidir.

Daha nice PHP serüvenlerine …[/vc_column_text]

[vc_column_text]PHP’de kodlamaya başlamadan, bir sonraki derslere ya da örneklere geçmeden önce bilmemiz gereken bazı temel kurallar ve bilgiler var. PHP kodlamaya başlamak için yapmamız gerekenler, başladıktan sonra yapmamız gerekenler ve bitirdikten sonra yapmamız gerekenler gibi.

PHP kodlarını yazmaya başlarken ve bitirirken

Yazacağımız kodların sunucu tarafından bulunup işlenebilmesi için PHP kodlarının başına “<?php” ve sonuna ise “?>” işareti koymamız gerekiyor.

<?php
// php kodları buraya yazılır
?>

Bu iki etiket arasına yazacağımız tüm her şey sunucu tarafından PHP kodu olarak işlenir.

Noktalı virgül

PHP’de her bir komuttan sonra (bazı istisnalar ve kısımlar hariç) noktalı virgül (;) işareti koymak zorundayız.
Bunun sebebi PHP’nin tüm kodları tek bir satıra alıp işliyor olması. Yazdığın kodları noktalı virgüllerden bölerek bir sonraki komuta geçtiğini anlar.
Bu noktalı virgül olayınıda askerlerin telsiz konuşmalarında konuşmaları bitince “tamam” demeleri gibi algılayabiliriz. Burda söylenen komutun bittiğini ifade eden “tamam” terimi, PHP’de noktalı virgüldür.

Sonuçları ekrana yansıtmak

PHP’de çalışırken oluşturduğumuz ya da yazdığımız kodlardan hiçbirisi sayfaya girene gönderilmez. Yani yazdığımız kodları kimse göremez, yanlızca bizim kodlardan dışarı yazdırmak istediğimiz değerleri görebilirler.
Bir değeri ya da sonucu dışarı yazdırmak için echo veya print ifadesini kullanırız, ama çoğunluklaecho ifadesi kullanılır. Örnek;

<?php
echo "Selam Dünya";
?>

Bu kod çalıştığında dışarı yanlızca Selam Dünya yazısı çıkar.
Yaptığımız çalışmalarda echo veya print ifadelerini kullanmazsak sayfayı ziyaret edenler bomboş bir sayfa ile karşılaşabilirler.
Echo’nun kelime anlamı yansıtmakdır. Yani PHP’de yaptığımız çalışmanın sonucunu kodların içinden kullanıcılara yansıtır.

Kodların içine yorum ya da not eklemek

Yazdığımız uzun ve yoğun kodların içerisinde bazen bizim veya kodlarımızı paylaştığımız kişilerin kodları daha rahat anlayabilmesi için bazı açıklamalar eklememiz gerekebilir. Bu ekleyeceğimiz notlar, kodları çalıştırdığımızda görünmez ve kodları etkilemez.
PHP’de kodların içerisine not eklemenin 3 farklı yolu var. Bunlardan iki tanesi tek satırlık not ekleme diğeri ise birden fazla satıra not ekleme.
Kare (#) işareti ile tek satırlı not eklemek için satır başına bir adet kare (#) işareti koymamız yeterli. Bu işaretten sonra yazacaklarımız sadece o satır olmaz üzere not olarak algılanır.
Kare işaretinin çalıştığı gibi iki adet bölü (//) işareti kullanarakta aynı olayı gerçekleştirebiliriz.
Birden fazla satıra not eklemek için bölü işareti ve yıldız işareti (/*) ile not aralığını başlatırız. Not aralığının sona ermesini istediğimiz yerde ise tam tersi olarak yıldız ve bölü işareti (*/) koyarız. (/* not */) Örnek kullanımları;

<?php
# tek satırlık bir yorum
// bu da tek satırlık bir yorum
/* bu ise
birden fazla
satırlı bir yorum
*/
 ?>

Bu temel bilgiler ile bir sonraki derslere geçip bir şeyleri karıştırıp kurcalamaya başlayabilirsin.[/vc_column_text]

[vc_column_text]PHP’de değişkenler, sabitler ve dizinleri, çalışmanın içinde kullanacağın verileri barındıracakkutular olarak hayal edebilirsin. Mesela gerçek bir posta kutusu hayal et, içine günlük gazete konur ve sonra sen o gazeteyi okursun. Daha sonra eski gazete gider yeni bir dergi gelir.

Yukarıdaki örneği programlama dilinde şöyle açıklarım; önce değişken isimlerinde türkçe karakter ya da boşluk kullanamayacağım için değişkene içeriğine uygun bir ad belirlerim, ben “posta_kutusu” dedim. Sonrasında bu değişkene gazete yüklerim.

Bunuda matematiksel ve mantıksal olarak “=” eşittir işareti ile yaparım;
$posta_kutusu = “gazete”;. Böyle yaptığımda benim posta_kutusu değişkenime gazete değerini yüklemiş oldum. Ve şuan ben ne zaman posta_kutusu değişkenini kullanmak istesem elime “gazete” sonucu geçecek, ta ki onun içeriğini tekrar değiştirene kadar.

PHP değişkenleri

Hemen yukarda anlattığım örneğin PHP’de uygulanmasını göstereyim. PHP’de değişkenleri başına bir dolar ($) işareti koyarak belirtiriz. Buradan bile PHP’nin çok zengin bir dil olduğunu çıkarabilirsin.

Bir değişken tanımlarken uyman gereken kuralların listesi;

  1. Harfler, sayılar ve alt çizgi(_) dışında bir karakter kullanamazsın.
  2. Değişken adını bir rakam ile başlatamazsın. ($1degisken Yanlış, $degisken1 Uygun)
  3. PHP değişken adlarında büyük küçük harf ayrımı yapar, yani $degisken ile $dEgiSkEn aynı değildir.

Bu üç kurala uyan tüm terimler birer değişken adı olabilir.
Bir kaç uygun değişken örneği: $meyveler, $posta_kutusu, $kolay1dil, $x, $_php

Değişkenlere değer atama, düzenleme ve silme

En başta anlattığım masalda da dediğim gibi bir değer atama işini mantıksal ve matematiksel olarak ilkokulda öğrendiğimiz “=” operatörü ile yaparız.

Bu eşittir olayı tüm güncel programlama dillerinde aynıdır. Yani günümüzün çoğu programlama dillinde değer atama ve düzenleme işlemi bu operatör ile yapılır. Çünkü aklın yolu birdir.

Şimdi $posta_kutusu değişkenine gazete değerini atayalım;

<?php
$posta_kutusu = "gazete";
echo $posta_kutusu;
?>

Ekranda gazete yazar.

Değişkenlere atıyacağınız değerlere göre tırnak işareti kullanıp kullanmayacağını belirleyebilirsin. Eğer gireceğin değer bir rakam ise tırnak içinde yazmasanda olur. Ama yazacağın bir yazı ise onu tırnak içine alman gerekiyor.

<?php
$sayi = 100;
$adres = "http://www.localhost ";
$yil = 2010;
$x = 10;
?>

Aksini denemeye çalışırsan ve yazıları tırnak içine almazsan hatalar ile karşılaşırsın. Çünkü tırnak içine almadığın her şey ya mantıksal ya da matematiksel olmak zorunda.

Bir değişkene atadığımız değeri değiştirmeside ilk değerin yüklenmesi ile aynı. Yani en son o değişkene ne yüklediysek o değeri taşır. Kodlar yukarıdan aşağıya doğru çalışır. Örnek;

<?php
$posta_kutusu = "gazete";
// şuan posta_kutusu değişkeninde gazete değeri var
$posta_kutusu = "dergi";
// şuan ise dergi değeri var
echo $posta_kutusu;
?>

Bir değişkeni silmek ve onu bir daha kullanmamak için ise unset() fonksiyonunu kullanırız. Fakat fonksiyonlar hakkında henüz fikrin yoksa bu unset olayını daha sonraya saklayabilirsin. Örnek bir kullanım;Ekranda dergi yazar.

<?php
$posta_kutusu = "gazete";
unset($posta_kutusu);
// artık posta_kutusu diye bir değişken yok
?>

Şuraya kadar PHP’de bir değişken oluşturma, değişkenlere değer verme ve düzenleme olayını kapmış durumdayız. Bir sonraki derse geçebilir ya da anlamadıysan baştan okuyabilirsin.

.[/vc_column_text]

[vc_column_text]PHP sabitleri yapacağın çalışmalarda adı üstünde değişken olmayacak, çalışma boyunca hiç değiştirilmeden sabit kalacak değerleri tanımlaman için kullanılır. Ayrıca sabitler sadece bir kez tanımlanıp bir daha değiştirilemediği için güvenlidir.

Sabitlerin tanımlanması define() fonksiyonu ile yapılır. İki argument ile uygulanır. Örnek;

<?php
define('site_adi', 'localhost');
// site_adi adında bir sabit oluşturduk ve değerini localhost yaptık
?>

Sabitler için kullanacağımız isimler değişkenlerde kullanabileceğimiz isimlerin özellikleri ile aynı.

Sabitleri kullanırken değişkenlerdeki gibi başına bir dolar ($) işareti koymamamız gerekiyor. Sabitler bir karakter eklenmeden direkt olarak yazılır ve kullanılır.

<?php
define('gezegen', 'dünya');
echo gezegen;
?>

Ekranda dünya yazar.

Sabitleri nerede kullanabilirim?

Dosya dizinlerini kaydederken, veritabanı olmayan sitelerde kullanıcı adı ve şifreleri ya da veritabanı kullanılan sitelerde de veritabanı kullanıcı adı ve şifre gibi bilgilerini saklarken ve çalışma boyunca hep okuyacağımız ama hiç değiştirmeyeceğimiz nitelikte olan veriler için sabitleri kullanabiliriz.

Bir sabitin tanımlanıp tanımlanmadığına nasıl bakarız?

Bunun içinde defined() fonksiyonu kullanılır. Örnek;

<?php
define('site', 'localhost');
echo defined('site');
?>

Ekranda 1 yazar, bu 1 sonucu olumlu anlamına gelir. Olumsuz olduğunda ekranda bir şey yazmaz.(Bu fonksiyon if koşullarında kullanılır)

Eğer sabit daha önceden tanımlamışsan ve onu yeniden tanımlamaya çalışırsan hata verir. Bu yüzden önce tanımlanmış mı diye kontrol etmen gerekir.[/vc_column_text]

[vc_column_text]Dizileri tanım olarak kısaca daha önceden öğrendiğin değişkene birden fazla değer atamak ve atadığın değerleri sırayalayıp, çoklu verilere rahat müdahale etmeni sağlayan veri tipleri diyebilirim.

Değerleri bir kategori altında toplamak ya da daha dinamik değişkenler oluşturmak için diziler idealdir. Örneğin sadece bir $uyeler değişkeninde yüzlerce kullanıcının verilerine ulaşıp değişiklikler yapabiliriz.

Dizilerin kullanımı, oluşturulması ve değiştirilmesi gayet basit aynı zamanda bunların birden fazla da yolu var.

Dizi (Array) oluşturma

İster Array() fonksiyonunu kullanarak istersen de fonksiyon kullanmadan dizi oluşturabilirsin.
İlk olarak Array() fonksiyon ile oluşturmayı göstereyim:

$meyveler = array("Elma", "Armut", "Muz", "Kiraz");

$meyveler dizisine array() fonksiyonuyla 4 tane değer atadık.

Aynı işlemi fonksiyon kullanmadan yapalım:

$meyveler[0] = "Elma";
$meyveler[1] = "Armut";
$meyveler[2] = "Muz";
$meyveler[3] = "Kiraz";

Fonksiyonsuz yöntemde aslında dizinin nasıl sonuç verdiği ortaya çıkmış oluyor.
Üstteki Array() fonksiyonu ve fonksiyonsuz şekilde oluşturduğumuz dizilerde aynı işlemi yaptık.

Array() fonksiyonu ile oluşturduğumuz bu dizide her bir değerin anahtarı sayısal olur, yani anahtarlar 0, 1, 2, 3, … şeklinde gider. Yukarıdaki $meyveler dizisinin 0. anahtarının değeri Elma, 1. anahtarının değeri ise Armut olur.

Array() fonksiyonu ile anahtarları sayısal olmayan ve kendi istediğin gibi olacak olan diziler oluşturmak için ise şu yöntemi uygulamalısın:

$meyveler = array('bir' => 'Elma', 'iki' => 'Armut', 'üç' => 'Muz');

Burada anahtarlarını kendim belirtmiş oldum. Aynısını bir de Array fonksiyonunu kullanmadan yapayım:

$meyveler['bir'] = 'Elma';
$meyveler['iki'] = 'Armut';
$meyveler['üç'] = 'Muz';

Bu da bir önceki örneğin fonksiyonsuz tanımlanmış hali.

Dizilerde bir adet anahtara ve sonrasında her anahtar için bir değere ihtiyacın var. Burada anahtar olan kısım ve değer olan kısmı şu şekilde göstereyim:

$dizi["anahtar"] = "değer";

Anahtar olan kısıma ister sayı istersen de yazı girebilirsin. Sıralamalar için ideal olan dizi anahtarı sayılardır. Sayı anahtarlar ile dizilerde daha rahat çalışabilirsin.

Dizileri kullanmak

Bir dizi oluşturduktan sonra onu oluşturduğun gibi kullanıp, değiştirebilirsin. Hemen örnek ile açıklayayım:

$meyveler[0] = "Elma";
$meyveler[1] = "Armut";
echo $meyveler[0];

Ekranda Elma yazar.

Dizileri değiştirmek

$meyveler[0] = "Elma";
$meyveler[0] = "Portakal";
echo $meyveler[0];

Ekranda Portakal yazar. Çünkü $meyveler dizisinin 0. anahtarının değeri Elma iken sonraki satırda Portakal olarak değiştirdik.

Hep sayısal anahtarlar ile gösterdik, şimdi bir de yazılı anahtarlar ile göstereyim:

$misafir["isim"] = "Musa";
$misafir["yaş"] = 18;
$misafir["il"] = "İstanbul";
echo 'Misafirin ismi ' . $misafir["isim"] . ', yaşı ' . $misafir["yaş"] . ', ili ise ' . $misafir["il"] . '.';

Ekranda Misafirin ismi Musa, yaşı 18, ili ise İstanbul. yazar.

İç içe dizi tanımlamak

Bir dizi oluşturduktan hemen sonra o dizinin içine sonsuza kadar daha dizi oluşturabiliriz. Aynı alt kategori mantığı gibi düşünebilirsin. Yine bunu ister fonksiyon ile istersen de bodoslama olarak yapabilirsin:

$yemek["tatlı"] = array("pasta", "kurabiye", "şeker");
$yemek["acı"] = array("biber", "acılı adana", "meksika sosu");
echo 'Ben ' . $yemek["tatlı"][0] . ' yedim';

Ekranda Ben pasta yedim yazar. Burada olduğu gibi istediğin kadar içe içe dizi oluşturabilirsin. Bir de fonksiyon kullanmadan göstereyim:

$yemek["tatlı"][0] = "pasta";
$yemek["tatlı"][1] = "kurabiye";
$yemek["tatlı"][2] = "şeker";
$yemek["acı"][0] = "biber";
$yemek["acı"][1] = "acılı adana";
$yemek["acı"][2] = "meksika sosu";
echo 'Ben ' . $yemek["tatlı"][0] . ' yedim';

Dizi silmek

Oluşturduğun dizilerden birini eksiltmek ya da tamamını yok etmek için değişkenleri yok etmekte kullandığımız unset() fonksiyonunu kullanıyoruz. İşin aslı bu fonksiyon tüm değişken tiplerini yok etmekte kullanabilirsin.

$meyveler[0] = "Elma";
$meyveler[1] = "Armut";
// sadece bir diziyi silmek için:
unset($meyveler[0]);
// tamamını silmek için:
unset($meyveler);

Dizinin tümünü yazdırmak

Eğer biz gerçekten bir diziyi olduğu gibi tüm içindekilerle ekrana yazdırmak istiyorsak print_r()fonksiyonunu kullanacağız. Bu bize içine yazdığımız dizinin sahip olduğu tüm anahtarları ve değerlerini gösterir:

$renkler = array("mavi", "turuncu", "yeşil");
print_r($renkler);

Ekranda şöyle bir çıktı belirir:

Array
(
    [0] => mavi
    [1] => turuncu
    [2] => yeşil
)

Dizi yaptığınız bir değişkeni herhangi bir anahtar kullanmadan direkt olarak hep kullandığımız ekrana yansıtma fonksiyonu olan echo ile ekrana yazamıyoruz.

Çünkü adı üstünde dizi birden fazla değere sahip olduğu için tek başına yazdırmaya kalktığınızda “Array” şeklinde sonuç alırsın. Hemen bunun nasıl olacağını da göstereyim:

$renkler = array("mavi", "turuncu", "yeşil");
echo $renkler;

Bir diziyi herhangi bir anahtarını belirtmeden yazdırmaya çalıştığımız için ekranda uyarı babında yalnızca Array yazar.

Dizilerin eleman sayısını bulmak

Bir dizide kaç eleman olduğunu saymak için count() fonksiyonunu kullanıyoruz. Hemen basit bir örnek ile göstereyim:

$renkler = array("mavi", "turuncu", "yeşil");
echo count($renkler);

Ekranda 3 yazar. Çünkü $renkler dizinin 3 elemanı var.

Dizileri sıralama

Dizileri 2 alanda sıralayabiliyoruz. Birincisi anahtara göre sıralama, diğeri ise değerlere göre sıralama. Bunlarında bir miktar fonksiyonlar ile yapıyoruz.

Tüm sıralama fonksiyonlarını bir liste halinde yazayım ve bir örnek ile açıklayayım:

Fonksiyon Açıklaması
sort() Değere göre küçükten büyüğe sıralar. Anahtarıyla olan ilişkisini bozar.
rsort() Değere göre büyükten küçüğe sıralar. Anahtarıyla olan ilişkisini bozar.
asort() Değere göre küçükten büyüğe sıralar. Anahtarıyla olan ilişkisini bozmaz.
arsort() Değere göre büyükten küçüğe sıralar. Anahtarıyla olan ilişkisini bozmaz.
ksort() Anahtara göre küçükten büyüğe sıralar.
krsort() Anahtara göre büyükten küçüğe sıralar.

Örnek:

$kelimeler = array("cam", "araba", "balon");
sort($kelimeler);
print_r($kelimeler);

Çıktısı:

Array
(
    [0] => araba
    [1] => balon
    [2] => cam
)

Otomatik tanımlanmış diziler

PHP kodları çalıştırdığında sayfaya otomatik olarak bir takım fonksiyonların tanımlandığı gibi bazı değişkenlerde tanımlanır.

İçinde kodun çalıştığı sayfanın konumunu, tarihi, sunucunun IP adresini, giren kişinin IP adresini ve bunun gibi daha bir çok veriyi bize ileten bazı değişkenler oluşturur. Bunlara genel olarak “Global değişkenler” diyoruz. Tanımlanan global değişkenler dizi olarak tanımlanır ve bir değişken ile bir çok değeri bize gönderir.

$_SERVER global dizisi

Bu global değişkenlerin en başında $_SERVER geliyor. Adı üstünde içinde server verilerine ve sayfaya giren ziyaretçilerin IP adresi, browser verileri gibi değerlerine ulaşabiliyoruz.

$_SERVER dizinin tüm değerlerini ele almak için hemen onu print_r() ile ekrana yazdırarak neyin ne olduğunu belirteyim:

Not: Anlatma gereği duymadığım ve senin henüz kullanmaya ihtiyacın olmayacak olan bazı değerleri atladım.

Array
(
    [HTTP_USER_AGENT] => Ziyaretçinin browser bilgileri
    [SERVER_NAME] => Serverin adı
    [SERVER_ADDR] => Server IP adresi
    [SERVER_PORT] => Server portu
    [REMOTE_ADDR] => Ziyaretçinin IP adresi
    [DOCUMENT_ROOT] => Dosyanın ana dizini
    [SCRIPT_FILENAME] => Çalışan scriptin dizi adresi
    [REQUEST_URI] => Şu an hangi adreste olduğu
    [SCRIPT_NAME] => Çalışan dosyanın adı
    [PHP_SELF] => Burası da çalışan dosyanın adı
    [REQUEST_TIME] => Şu anki zaman
)

$_POST, $_GET, $_COOKIE, $_SESSION global dizileri

Bu dizileri PHP from kullanımı ve örnekleri, PHP Cookie ve PHP Session başlıkları altında detaylı bir şekilde ele aldık.

Dizileri nerede kullanabilirim?

Bu konuda kafanda kullanımı hakkında biraz daha fazla şey canlanması için bir örnek daha verebilirim. Mesela benzer türde verileri tek bir değişkene koyarak tek bir değişken ile tüm ihtiyaç duyduğun verilere ulaşabilirsin:

$mesaj["baslik"] = "Selam Dünya!";
$mesaj["icerik"] = "Selamlar, bu sadece PHP'de dizileri daha iyi anlamamız için bir örnek";
$mesaj["yazar"] = "Ümit";
$mesaj["tarih"] = "19 Nisan 2015 Pazar";

Gördüğün gibi sadece $mesaj değişkeni ile bir mesajın tüm verilerini ayrı ayrı ve düzenli bir şekilde tutmuş oldum.[/vc_column_text]

[vc_column_text]Girilen sitelerin tarayıcılar(browserlar) üzerinde bıraktığı izlere cookie, Türkçesiyle de çerez denir. Bu izler siteye tekrar ziyaret edildiğinde yeniden gönderilerek bazı şeylerin yeniden hatırlanmasını sağlar.

Mesela giriş formlarında kullanıcının şifresini ve kullanıcı adını cookieler sayesinde tarayıcıya kaydederek bir sonraki gelişinde bilgilerini yeniden girmek zorunda kalmadan direkt giriş yapabilir.

Temel olarak kullanıcı bilgilerini hatırlanmasında kullanılan çerezleri hayal gücünüzün el verdiği kadar bir çok alanda da kullanmak mümkün.

Cookie oluşturma

PHP’de cookie oluşturma işini bir setcookie() fonksiyonu ile yapıyoruz. Fonksiyonda tarayıcıya gönderilecek ve saklanacak olan değerin anahtarını ve içeriğini belirttiğimiz gibi bir de ne kadar süre tarayıcıda saklanacağınıda belirtiyoruz.

setcookie("çerezim", "selam dünya");

Yukarıdaki örnekte çerezim adında bir cookie oluşturduk ve değerinide selam dünya yaptık. Ve 3. parametre olarak hiç bir şey girmediğimiz için varsayılan olarak tarayıcı kapatıldığında çerez silinecek.

Eğer çerezin bizim istediğimiz bir gelecek tarihte silinmesini istiyorsakta 3. parametreyi devreye sokacağız. İşte bunun içinde bir örnek:

setcookie("çerezim", "selam dünya", time() + (60*60*24));

Şimdi 3. olarak girdiğimiz time() + (60*60*24) bu parametre şu anki zamana saniye cinsinden60*60*24 tam olarak 24 saat yani 1 gün eklemiş olduk.

Bu oluşturduğumuz çerezin son kullanma tarihi şuandan itibaren + 24 saat sonra demek oluyor. 1 gün sonrasında bu çerez siteye girildiğinde gönderilmiyor olacak.

Cookie silme

Oluşturduğumuz bir çerezi silmek için yine normal bir çerez tanımlarmış gibi setcookie()fonksiyonunu kullanıyoruz. Tek fark 3. son kullanma tarihi paramteremize geçmiş bir zaman giriyoruz. Bu sayede çerezin tarihi dolmuş varsayılıp hemen siliniyor. Örnek olarak bu çereze time() – 3600 diyerek 1 saat öncesini göstereceğiz ve çerez silinmiş olacak:

setcookie("çerezim", "selam dünya", time() - 3600);

Cookie kullanımı

Çerez kullanımı $_COOKIE dizisi üzerinden yapılır. Bu dizi otomatik olarak o sayfaya gönderilen çerezlere göre oluşur. Yukarıdaki oluşturduğumuz çereze ulaşmak için aşağıdaki kodu kullanırız, ki bu koddan ne kadar basit ve anlaşılır olduğu belli oluyor:

echo $_COOKIE['çerezim'];

Ekranda yukarıdaki örneğin devamı olarak gösterdiğimiz bu örnekten ötürü selam dünya yazar.

Cookie değerini değiştirmek

Çerezleri oluşturmakta ve silmekte olduğu gibi değerini değiştirmekte de setcookie() fonksiyonunu kullanıyoruz. Ve oluşturmakta olduğu gibi değerini değiştirmekte aynıdır. Sadece çerez adına önceden tanımladığımız adı yazmamız yeterli. Eğer çerez yoksa oluşturulur varsa değeri değiştirilir.

setcookie("çerezim", "selam dünya");
setcookie("çerezim", "merhaba dünya");
echo $_COOKIE['çerezim'];

Ekranda merhaba dünya yazar.

Cookie tanımlanmış mı diye bakmak

Tüm değişkenlerin varlığını kontrol edecek olan isset() fonksiyonu ile bir çerezin tanımlanıp tanımlanmadığını bulabiliriz. Kullanımı if ifadesi ile olacak olan bu fonksiyonun bu kullanımını henüz bu ifadeyi anlatmadığımız için örnek göstermiyorum.

echo isset($_COOKIE['olmayan']);

Ekranda bir şey yazmaz, FALSE değeri döner. Çünkü böyle bir çerez tanımlamadık. Tanımlanmış bir çerez olsaydı ekranda olumlu manada 1 yazardı.[/vc_column_text]

[vc_column_text]PHP de session olayını cookie ile karşılaştırarak yapalım. Çünkü kullanım ve uygulama olarak cookie ile aynı ama teknik olarak farklı. Session aynı çerezlerde olduğu gibi $_SESSION global dizisi ile okunur, fakat yazılması için çerezlerdeki gibi bir fonksiyona ihtiyaç duymaz.

Çerezlerin son kullanma tarihini biz belirlerken sessionlar tarayıcının kapatılmasıyla silinir. Yani siteye girildiğinde oluşturacağımız sessionlar, girenin sayfayı kapatmasıyla silinecektir.

Kullanım, oluşturma ve silme dışındaki asıl teknik farkı da sessionların tarayıcıya direkt olaraktanımlanmıyor olması.

Session ve cookie arasındaki fark

Bunu şöyle açıklayayım; bir çerez tanımladığımızda bu çerezin adı ve değeri tarayıcıya açıkca gönderilir ve bu değer istenilen süre boyunca tarayıcıda açık bir şekilde saklanır.

Sessionda ise kaydedilen değer ve değerin adı tarayıcıya gönderilmez. Onun yerine PHPSESSIDadında içinde uzun bir session id değeri bulunan bir çerez tanımlanır. Ve bizim oluşturduğumuz sessionlar sunucuda saklanır ve girenlerin gönderdiği PHPSESSID kimliğine göre kime ait oldukları bulunur ve yeniden düzenlenir.

kartBu olayı daha iyi anlamanız için kredi kartı örneğini vereyim: Session olayı aynı kredi kartı kullanımı gibidir. Banka size bir kart verir bu kartın içinde size özel bir anahtar kod yer alır. Ama para ve bilgiler bankada saklanır.

Siz bilgilerinize ve paralarınıza ulaşmak için kartı kullanırsınız. Sessionda size direkt olarak bilgileri vermek yerine birPHPSESSID adında değer verir ve o değer üzerinden size ait olan verileri okur ve düzenler.

Session nerelerde kullanılabilir

Oturumun kapanmasıyla silinmesi ve tekniği nedeniyle session verileri daha çok kullanıcılarınızın sitenize giriş yaptığında onları tarayıcıyı kapatana kadar giriş yapmış şekilde tutmanıza ve bazı yerlerde sanal sepet uygulamarını gerçekleştirmenizde kullanılır.

Session oluşturma

Başta da dediğim gibi sessionları tek bir $_SESSION global dizisi üzerinden okuyup, oluşturup, silebiliyoruz. Tek önemli mevzu session kullanımına ya da oluşturulmasına başlamadan önce bir kere her sayfanın en başında session_start() fonksiyonunu yazmalıyız, bu fonksiyon session olayını kullanıma hazırlar ve olmazsa olmazdır.

Bazı sunucularda session kullanımı otomatik olarak hep açıktır, açık olan sunuculardasession_start() yazmaya çalışırsanız hata verir. Bu durumda bu fonksiyonu kullanmaya gerek yoktur.

session_start();
$_SESSION['mesaj'] = 'Selam dünya!';

Yukarıda ilk önce session kullanımını başlattık ve ardından aynı bir dizi tanımlarmış gibi $_SESSION global dizisine mesaj anahtarına Selam dünya! değerini verdik. Yani mesaj adında bir session oluşturduk ve değerini Selam dünya! yaptık.

Bu oluşturduğumuz değer giren kişinin tarayıcısı kapatılmadığı sürece gezdiği her sayfaya tekrar geri gönderilecek ve bir önceki sayfada yaptığı işlemleri, kullanıcı adı ya da şifre gibi verileri bu şekilde yeniden hatırlanmasını sağlayacak.

Mesela session ile bir sayfada giren kişinin adını belirtmesini isteyip tüm sayfalarda onun bu adını hatırlatabilirim.

Session dizi (array) atama

Sessionlara yazı, sayı gibi değerler atadığımız gibi aynı zamanda dizi (array) da atayabiliriz. Bunu yapmak için sıradan bir dizi tanımlıyormuş gibi davranman yeterli.

Session dizi örneği:

session_start();
$_SESSION['uyeler'] = array('Ümit', 'Yılmaz', 'Cemil');

Bu şekilde sessionların içerisinde dizi verileride taşıyabiliriz. Ve başka sayfalarda çağırdığımızda aynen dizi şeklinde kullanmaya devam edebiliriz.

Session silme

Daha öncelerde de bahsettiğimiz gibi yine burada da session silme işleminde de unset()fonksiyonunu kullanıyoruz.

session_start();
$_SESSION['gezegen'] = 'dünya';
unset($_SESSION['gezegen']);

Yukarıda önce bir session oluşturduk ve hemen ardından da onu sildik.

Tüm sessionları silmek

Bu işlem için de session_destroy() fonksiyonunu kullanacağız. Bu fonksiyon tanımlanmış tüm sessionları yok eder.

session_start();
session_destroy();

Session var mı diye kontrol etmek

Yine diğer çalışmalarda varlığını kontrol etmekte kullandığımız isset() fonksiyonunu kullanacağız. Bu fonksiyon eğer içine yazdığımız session varsa olumlu yoksa olumsuz döner.

session_start();
echo isset($_SESSION['deneme']);

Session kullanımı hakkında bir örnek

Hemen anlattıklarımızı pekiştirip pratik yapmak üzere basit bir örnek gösterelim;

Öncelikle ilk.php adında bir php dosyası oluşturalım ve içinde bir session oluşturup bir başka php sayfasında o veriyi okutmayı deneyelim.

ilk.php:

<?php
session_start();
$_SESSION['isim'] = 'Ümit';
echo 'Sessionumuzu oluşturduk.';
?>

Bu sayfayı oluşturup çalıştırdıktan sonra 2. php sayfamızıda yapalım. Bunun adıda son.php olsun.

son.php:

<?php
session_start();
echo 'Daha önceden kaydedilmiş isim: ' . $_SESSION['isim'];
?>

ilk.php yi ziyaret ettikten sonra bu sayfaya geldiğimizde ekranda Daha önceden kaydedilmiş isim: Ümit yazacaktır. Eğer ilk.php ye uğramadan yani sessionumuzu oluşturmadan son.php ye girmeye çalışırsak böyle bir session oluşturulmadığı için kod hata verecektir.[/vc_column_text]

[vc_column_text]PHP altı farklı genel veri tipine sahip. Bunları önce sırayla listeleyeyim ve sonra kısaca değineyim.

  1. Tamsayı (Integer): 5 ya da 2157 gibi.
  2. Çift (Double): 10,5 ya da 1,5 gibi.
  3. Alfanümerik, yazı ya da metin türü de diyebiliriz (String): “localhost” gibi.
  4. Mantıksal (Boolean): true ya da false yani yanlış ya da doğru.
  5. Nesne (Object)
  6. Dizi (Array)

PHP’de değişken tipleri oluşturduğunuz değişkenlere uyguladığınız değişikliliklere göre otomatik olarak belirlenir. Yani bir değişkene ilk tanımlamasında bir sayısal değer verdiyseniz tipi otomatik olarak tamsayı ya da duruma göre çift olur.

Mesela bir tam sayı tipinde değişken tanımlayalım:

$sayi = 12345;

oluşturduğumuz $sayi değişkeni tipi otomatik olarak tamsayı oldu.

Eğer sayıları tırnak içine alıp yazsaydık bu değerler sayı yerine alfanümerik muamelesi görürdü. Çünkü tırnak içinde yazacağımız değerler alfanümerik olur

$yanlis = "12345";
$dogru = "selam dünya!";

Sayıları matematiksel olarak kullanacaksak onları tırnak içinde yazmamamız gerekiyor. Buradan çıkarmamız gereken ders budur.[/vc_column_text]

[vc_column_text]PHP’de yapacağımız ve yaptıracağımız her şey için PHP ifadelerini kullanırız. Adı üstünde çalışmamızı ifade edecek şeylere PHP ifadeleri deriz. Genel olarak <?php ve ?> arasına yazacağımız her şey bir PHP ifadesidir.

Bunlardan bir çoğunu ayrı başlıklar altında anlattım ve şimdi ise yeni bir başlık altında operatörlere ve mantıksal ifadelere değineceğim.

Şimdi ifadelerimizde ve değişkenler üzerinde bir takım işlemler yapmamızı ve koşullar belirtmemizi sağlayacak olan operatörlerden başlayalım, bol etiketli bir yazı olacak.

PHP operatörleri

Bu başlık altında sırayla aritmetik operatörler, atama operatörlerini, karşılaştırma operatörleri, mantıksal operatörler ve diğer operatörleri anlatacağım.

Aritmetik operatörler

Aritmetik operatörler gayet basit. İlkokulda öğrendiğimiz şeyler, bunlara matematiksel operatörlerde diyebilirsin. Bu operatörler ile istediğin değerlerin toplamasını, çıkarmasını, bölmesini ve çarpmasını yapabilirsin.

İşte PHP’de aritmetik operatörler, isimleri ve örnekleri:

Operatör İsim Örnek
+ Toplama $a + $b
Çıkartma $a – $b
* Çarpma $a * $b
/ Bölme $a / $b
% Modül $a % $b

Bunların bir de uygulamasını gösterelim:

$a = 10;
$b = 20;
$c = 5;
$sonuc = $a + $b - $c;
echo $sonuc;

Ekranda 25 yazar.

$a değişkeninin değeri 10, $b değişkeninin değeri 20, $c değişkeninin değeri ise 5. $sonucdeğişkenine de $a değişkeni artı $b değişkeni ve eksi $c değişkeni dedik, bu da $sonucdeğişkenine 10 + 20 – 5 işlemini yaptırarak 25 değerini verdi.

Bir tane de işe yarar bir deneme ile gösterelim:

$yil = 2015;
$dogum_yili = 1985;
$yas = $yil - $dogum_yili;
echo $yas;

Ekranda 30 yazar. 2015 yılından doğum yılımızı çıkarttık ve yaşımızı bulduk.

Karakter katarı operatörleri

İki ya da daha fazla karakteri ard arda eklemek için kullanacağın bu operatörü aslında bir kaç ders öncesinde örnek olarak kullandım. Orada anlamamış olabilirsin. Ama şimdi bu eksikliği gidereceğiz.

Yazıları ve diğer değerleri yan yana birleştirmek ve başka değerlere eklemek için “.” (nokta) operatörünü kullanacağız. Hemen bir örnek ile göstereyim yine:

$isim = 'Ümit';
$mesaj = 'Selam ';
$sonuc = $mesaj . $isim;
echo $sonuc;

Ekranda Selam Ümit yazar. Burada $sonuc değişkenine $mesaj değişkeni ile $isim değişkenini yan yana ekledik.

Bir örnek daha göstereyim:

$isim = 'Ümit';
$sonuc = 'Selam ' . $isim;
echo $sonuc;

Bu sefer de aynı şey yazar. Farklı yaptığımız şey; $mesaj değişkeni kullanmak yerine sonuç değişkenine direkt mesajımızı verdik ve yanına nokta operatörü ile $isim değişkenini birleştirdik.

Tek tırnak ile çift tırnak arasındaki fark

Bu konuda son olarak dikkat etmemiz gereken ufak bir farklı yoldan bahsedeceğim. Bu da PHP de (çift tırnak) ile (tek tırnak) arasında bazı kullanım farklılıkları olması. Tek tırnak ile vereceğimiz değerlerin içerisine değişken yazamayız, hemen örnek ile gösterelim:

$isim = 'Ümit';
$mesaj = 'Selam $isim';
echo $mesaj;

Ekranda Selam $isim yazar. Çünkü biz değişkeni de tek tırnak içinde yazdık. Bu nedenle o$isim‘e bir değişken değil yazı gözüyle baktı. Eğer $isim değişkenini yazdırmak istiyorsan işte o zaman bir yukarıda verdiğimiz örnekteki gibi yapmalısın.

Bu bahsettiğim olay yanlızca tek tırnak için geçerli. Çift tırnakda ise bu durum daha farklı. Çift tırnak içerisine yazacağımız değişkenlerin değerleri yazar. Yani nokta operatörünü kullanmadan da değişkenleri çift tırnak içinde birleştirebiliyoruz. Hemen yine bir örnek geliyor:

$isim = 'Ümit';
$mesaj = "Selam $isim";
echo $mesaj;

Çok dikkat edin bir önceki örnek ile aynı fakat sadece mesaj değişkeninde tek tırnak değil çift tırnak kullandık. Ve bu durumda ekranda Selam Ümit yazacak. Çünkü çift tırnak içine yazılan değişkenlerin değerlerini verir. Fakat tek tırnakda böyle bir durum söz konusu değil.

Buradaki amaç bazen dolar işaretini kendi başına kullanmamız gereken bazı yerlerde PHP’nin o dolar işaretini değişken sanmamasını sağlamaktır. Mesela ekrana “Ücret: 100$” yazdırmak istediğimizde eğer çift tırnak kullanırsak PHP hata verir. Çünkü çift tırnak içerisinde dolar işareti özel karakter ve değişken ifadesi olarak algılanır. Bu durumlarda tek tırnak ya da kaçış operatörü kullanılır.

Kaçış operatörü

Kaçış operatörü ters bölüm işaretidir “\“.

Kaçış operatörünün kullanımınıda hemen bir örnek ile gösterelim:

$mesaj = "Ücret: 100\$";
echo $mesaj;

Ekranda Ücret: 100$ yazar. Çift tırnak ile $ dolar işaretini kullandık ama başına ters bölüm işareti koyduk. Bu nedenle o dolar işaretini değişken olarak algılamadı.

Çift tırnakta değişken kullandığımız için $ dolar işaretinden kaçmakta kullandığımız bu operatörü aynı zamanda çift tırnak içine çift tırnak içeren bir şey yazarkende kullanabiliriz. Hemen buna da bir örnek:

$mesaj = "Ümit: \"bu kaçış operatörünü anlamak için iyi bir örnek\" dedi.";
echo $mesaj;

Ekranda Ümit: “bu kaçış operatörünü anlamak için iyi bir örnek” dedi. yazar. Çift tırnak içinde çift tırnak işaretini kullansaydık PHP hata verirdi. Ama kaçış operatörü sayesinde böyle bir hata almadık ve kendimizi ifade ettik.

Biraz karışık bir konu gibi gelebilir ama aslında basit. Son olarak hepsini bir örnek ile göstereyim:

$isim = "Ümit";
$mesaj = "Merhaba ";
$sonuc = $mesaj . $isim; // Değeri: Merhaba Ümit
$sonuc = "$mesaj $isim"; // Değeri: Merhaba Ümit
$sonuc = 'Selam ' . $isim; // Değeri: Selam Ümit
$sonuc = 'Değerimiz: 100,000,000$'; //Değeri: Değerimiz: 100,000,000$
$sonuc = "Bu hatalı bir fiyat: 100$"; //PHP hata verir!
$sonuc = "Bu hatasız bir fiyat: 100\$"; //Değeri: Bu hatasız bir fiyat: 100$
$sonuc = "Tırnak denemesi: \"PHP\""; //Değeri: Tırnak denemesi: "PHP"
$sonuc = "Hatalı bir örnek, "kaçış karakteri" kullanmadan tırnak açtık"; //PHP hata verir.

Atama operatörleri

Atama operatörleri ile değişkenlere değer atarız. Temel atama operatörü eşittirdir (=). Bunu geçen örneklerde ve anlatımlarda anladığını varsayıyorum. Tek bir eşittir işareti, istenilen değişkene istenilen değeri atamamızı sağlar.

Diğer operatörlerini de bir tablo üzerinde gösterelim. Bu operatörler birleşik atama operatörleri. Bunlar bir değişkenin sonuna bir değer eklemekte ya da değişkendeki sonuca bir sayı eklememizi kolaylaştırır. Basit bir örnek ile kavrayabileceğimiz bu birleşik atama operatörlerini önce tabloda gösterelim:

Operatör Kullanışı Karşılığı
+= $a += $b $a = $a + $b
-= $a -= $b $a = $a – $b
*= $a *= $b $a = $a * $b
/= $a /= $b $a = $a / $b
%= $a %= $b $a = $a % $b
.= $a .= $b $a = $a . $b

Örnek bir atama operatörü kullanımı:

$a = 10;
$b = 20;
$a += $b;
echo $a;

Ekranda 30 yazar. Birleşik atama operatörü kullanarak toplama işlemi yaptık ve varolan değişkenin değerine atadığım değişkenin değerini ekledik.

Bu birleşik atama operatörü bizim değişkenin sonuna ekleyeceğimiz ya da çıkartacağımız değerler için aynı değişkeni tekrar yazdırmayarak bize kolaylık sağlar.

Bir değer arttırma ya da eksiltme

Bir değişkendeki sayısal değeri bir arttırmak için çift artı (++) operatörünü, bir değer eksiltmek için de çift eksi (- -) operatörünü kullanırız.

Örnek kullanımı:

$a = 10;
$a++;
echo $a;

Ekranda 11 yazar. $a değişkeninin değerini 1 arttırdık ve ekrana yazdırdık.

İfadeleri ve operatörleri bir başlık altında toplayınca konu yoğunluğundan dolayı ikiye ayırmak durumunda kaldım. Bu yazıda bir önceki yazıda anlatmadığımız diğer ifadeleri ve diğer operatörleri anlatacağım.

Kaldığımız yerden karşılaştırma operatörlerini anlatmaya başlayarak devam ediyorum.

Karşılaştırma operatörleri

Karşılaştırma operatörleri ile adı üstünde birden fazla değerleri kendi aralarında karşılaştırmasını yapacağız. Mesela $a değişkeninde bulunan bir değer $b değişkeni ile aynı mı? Ya da daha mı büyük? Gibi karşılaştırmaları bu operatörler ile yapacağız.

Karşılaştırma operatörlerini bir tablo üzerinde gösterelim:

Operatör İsim Kullanılışı
== Eşittir $a == $b
=== Denktir $a === $b
!= Eşit değildir $a != $b
!== Denk değildir $a !== $b
<> Eşit değildir $a <> $b
< Küçüktür $a < $b
> Büyüktür $a $b
<= Küçük ve eşittir $a <= $b
>= Büyük ve eşittir $a >= $b

Karşılaştırma operatörü olan çift eşittir işaretinde dikkat etmemiz gereken ufak bir ayrıntı var. Çift eşittir işareti iki değeri karşılaştırmakta kullanılır, tek eşittir işareti ise değer atamakta kullanılır. Bu yüzden karşılaştırma operatörü olan çift eşittir kullanmak istediğiniz zaman tek eşittir yapmadığınızdan emin olun.

Karşılaştırma operatörleri nasıl kullanılır?

Karşılaştırma operatörlerini daha çok soru sormak gibi değerlendirebiliriz. Bu operatörleri koşul gerektirecek olan öğreneceğimiz bir sonraki ifadelerde kullanacağız. Kullanacağımız bu operatörlerin anlamlarına örnek olarak şunu diyebilirim:

$a = 10;
$b = 20;

Yukarıda a ve b değişkenlerine değer atadım. Şimdi karşılaştırma operatörü ile “$a == $b” dediğimde aslında “$a değişkeni $b değişkenine eşit mi?” diye bir soru sormuş oldum. Bu karşılaştırmanın sonucu yanlış yani FALSE dönecektir.

Farklı bir operatör ile daha deneyelim: “$b > $a” burada da “$b değişkeni $a değişkeninden büyük mü?” diye sormuş oldum. Bu karşılaştırmanın cevabı da doğru yani TRUE dönecektir.

Mantıksal operatörler

Mantıksal operatörler ile birden fazla karşılaştırmayı değerlendirip, birleştirebiliriz. Mesela bir değişkenin hem 0 dan büyük mü hem de 100 den küçük mü diye bir karşılaştırmasını mantıksal operatörler sayesinde yaparız.

Mantıksal operatörleri bir tabloda gösterelim:

Operatör İsim Kullanılışı Açıklaması
! Olumsuzsa !$a $a’nın değeri olumsuz yani FALSE ise TRUE yani doğru döner. Aksini yapar olumsuz mu diye sorar.
&& Ve $a && $b $a ve $b’nin değeri olumlu ise olumlu yani TRUE döner, ikisinden birisi olumsuz ise olumsuz yani FALSE döner.
|| Ya da $a || $b $a’nın değeri ya da $b’nin değeri olumlu ise olumlu döner. Birisinin ya da ikisininde olumlu olması yeterlidir.

Bunlara bir örnekte başta dediğimiz; bir değişkenin değeri “0 dan büyük ve 100 den küçükse” karşılaştırmasını yapalım. Bunun için uygulayacağımız koşul şöyledir: “$a > 0 && $a < 100” Bunun anlamı $a değişkeni 0 dan büyükse ve 100 den küçüksedir. Eğer $a’daki sayı 0 ile 100 arasında ise bu koşulun sonucu olumlu döner.

Hata bastırma operatörü

Hata bastırma operatörü (@) et işaretidir. Her deyimin önünde kullanılabilir. Hata oluşturacak yerlerin başına bunu koyduğunuzda ekrana bir hata çıktısı verdirmemeye yarar.

Hatayı görmezden gelmeye ve sonucu olumsuz yapmamaya yarar.

Diyelim bir bölme işlemi yaptırıyoruz, bu bölme işlemine belki 0 rakamını da yazabiliriz. 0 yazdığımızda PHP bir rakamı 0 a bölemeyeceği için hata verecektir. Bu durumda bu operatör kullanarak hatayı bastırabiliriz. Örnek:

$a = 10;
$b = 0;
$sonuc = @($a/$b);
echo $sonuc;

Ekranda hata yazmaz onun yerine olumsuz sonuç döner.

PHP koşullu ifadeleri

Ve nihayet öğrendiğimiz bu operatörleri kullanarak karar verdirme zamanı geldi! Yapılan çalışmalarda ve sayfalarda mantıklı ve işe yarar sonuçlar verdirtebilmek için kodlarımızın karar vermesi gerekiyor.

PHP’de karar verdirtebilmek için ise if gibi bazı ifadeleri kullanacağız. Ve bu ifadeler ile kodlarımıza bir mantıklı bir amaç ve sonuç oluşturacağız.

İf ifadeleri

PHP’de if ile kodlarımıza kararlar verdirtebiliriz. Türkçe anlamı eğer olan if ifadesi için bir koşula ihtiyacımız ve koşul sonucunda yapmasını istediğimiz koda ihtiyacımız var.

If’in temel şekli şöyledir:

if( koşul ) {
// koşul olumlu ise çalışacak kodlar
}

Hemen bir örnek ile açıklayıp gösterelim:

$a = 20;
if($a > 10) {
   echo 'a değişkeni 10 dan büyüktür';
}

İlk olarak $a değişkenine 20 değerini verdik sonrasında if ile “eğer $a değişkeni 10 dan büyükse aşağıdaki kodları çalıştır” dedik. Yani bu durumda ekranda “a değişkeni 10 dan büyüktür” yazacaktır. Eğer $a değişkenine 5 değerini verseydik ekranda hiçbir şey yazmazdı.

If birden fazla koşul uygulama

Mantıksal operatörler ile if’in içerisine birden fazla karşılaştırma gerçekleştirebiliriz. Mantıksal operatörlerde verdiğimiz bu örneği de hemen if’i kullanarak gösterelim.

$a = 10;
if($a > 0 && $a < 100) {
   echo 'a değişkeni 0-100 arasında';
}

Burada eğer $a değişkeni 0 dan büyük ve $a değişkeni 100 den küçük ise aşağıdaki kodları çalıştır dedik. Ve $a değişkeni değerine 10 verdiğimiz için ekranda a değişkeni 0-100 arasında yazacaktır.

Eğer koşullar gerçekleşmiyorsa { … } parantez içerisine aldığımız kodlar çalışmayacaktır.

Else ifadeleri

Else’nin Türkçe anlamı değilsedir. Yani if koşullar olumlu olduğunda { … } parantez içerisindeki kodları çalıştırırken else’yi kullanarak eğer koşullar gerçekleşmediyse de bir başka kod bloğunu çalıştırabiliriz.

Yukarıdaki örneğimizin üzerinde uygulayarak gösterelim:

$a = 200;
if($a > 0 && $a < 100) {
   echo 'a değişkeni 0-100 arasında';
} else {
   echo 'a değişkeni 0-100 arasında DEĞİL';
}

Burada eğer koşullar doğru değilse a değişkeni 0-100 arasında DEĞİL yaz dedik. Ve bu seferde $a değişkenine 200 değerini verdiğimiz için ekranda “a değişkeni 0-100 arasında DEĞİL” yazacaktır.

Hem if hem de else olayına bir örnek daha gösterelim. Ehliyet almak için 18 yaşını doldurmuş olmak gerekiyor. Şimdi if ve else kullanarak bu durumu ifade edelim:

$yil = 2010;
$dogum_yili = 1992;
$yas = $yil - $dogum_yili;
if($yas >= 18) {
   echo 'Ehliyet alabilirsin';
} else {
   $kalan_yil = 18 - $yas;
   echo 'Ehliyet almak için ' . $kalan_yil . ' yıla daha ihtiyacın var.';
}

Yukarıda hem yaş hesaplama hem de if ile bir ehliyet alabilirlik testi yaptık. Eğer yaşımız 18 den büyük ya da eşit ise ekranda Ehliyet alabilirsin yazacaktır. Eğer 18 den küçük ya da eşit değilse yaştan 18’i çıkartıp 18 olmasına kalan yılı bularak ekrana ehliyet almak için kaç yıla ihtiyacımız olacağını yazacaktır.

Elseif ifadeleri

Else değilse demekti if ise eğer demekti, yani bu da demek oluyor “değilse eğer”. Bu ifade ile bir koşul uymuyorsa hemen ardından başka bir koşul deneyebiliyoruz. Mesela elseif ile bir puan değerlendirmesi yapalım. Notumuz eğer 5 ise pekiyi 4 ise iyi 3 ise orta 2 ise geçer 1 ise zayıf yazdıralım.

$puan = 5;
if($puan == 5) {
   echo 'Pekiyi';
} elseif($puan == 4) {
   echo 'İyi';
} elseif($puan == 3) {
   echo 'Orta';
} elseif($puan == 2) {
   echo 'Geçer';
} elseif($puan == 1) {
   echo 'Zayıf';
}

Ekranda pekiyi yazar.

Switch ifadesi

Sadece bir veya birden fazla eşitliği kontrol etmek istediğiniz durumlarda kullanılabilecek bir ifadedir. Switch ile yapılacak işlemin aynısı else if ile de yapabilirsiniz, fakat eğer sadece bir veya daha fazla eşitliğin karşılaştırılması üzerine bir ifade kullanılmak isteniyorsa bu işlem için switchdaha uygundur.

// if ile yapmak istediğimizde:
if($meyve == 'karpuz') {
   echo 'karpuz seçildi';
} else if($meyve == 'çilek') {
   echo 'çilek seçildi';
} else if($meyve == 'armut') {
   echo 'armut seçildi';
}
// aynısı switch ile yapalım:
switch($meyve) { // karşılaştırılacak değişkeni ifade ediyoruz
case 'karpuz': // eğer karpuz'a eşitse
   echo 'karpuz seçildi';
   break; // eğer bu seçenek eşleştiyse karşılaştırmaya devam etme
case 'çilek':
   echo 'çilek seçildi';
   break;
case 'armut':
   echo 'armut seçildi';
   break;
}

Bu tip durumlarda switch kullanmak if kullanmaktan daha performanslı ve kısa oluyor.

Alt alta case ifadesini kullanarak birden fazla değer karşılaştırması yapabilirsiniz.

switch($meyve) {
case 'kiraz':
case 'çilek':
case 'karpuz':
   echo 'kırmızı renkli meyve';
   break;
case 'armut':
   echo 'sarı renkli meyve';
   break;
}

Eğer switch içerisinde ifade edilen hiç bir değerde eşleşmediğinde yapmak istediğiniz bir şey varsa da bunu “default” ile ifade ediyoruz;

switch($meyve) {
case 'muz':
   echo 'muz var!';
   break;
case 'karpuz':
   echo 'karpuz var!';
   break;
default:
   echo 'bu meyveden yok!';
   break;
}

[/vc_column_text]

[vc_column_text]Döngüler sayesinde bir kod bloğunu istediğin kadar ard arda tekrarlayabilirsin. PHP’de 4 tane döngü mevcut, her biri aslında teknik olarak aynı şeyi yapıyor sadece kullanımları farklı. En çok kullanışlı olan While ve for döngüsüdür.

Döngüler hem çok eğlenceli, hem en işe yarar ifadelerden birisi. Sonsuz döngüye girme gibi riskleri olsa bile PHP’nin varsayılan çalışma zamanı limiti bu riski ortadan kaldırıyor.

Basit bir kod bloğu ve döngüler sayesinde harika işler başarabilirsin. Mesela toplu güncellemelerde ve liste gibi yerlerde döngüler kullanılır.

While döngüsü

While döngüsünün koşul olayı if ifadesi ile aynı diyebiliriz. İçerisine yazacağımız koşul doğru olduğunda kod bloğunu çalıştıran if ifadesinde olduğu gibi whilede aynı şeyi yapar. Tek farkı döngü olduğu için koşul doğru olduğu sürece tekrarlar.

while( koşul ) {
 // koşul olumlu olduğu sürece çalışacak kod bloğu
}

While döngüsünde sonsuz döngüye girmek çok kolay, bu yüzden kodlarken biraz dikkatli olmak lazım. Eğer koşul her zaman doğru olacak şekilde olursa while de hiç durmadan döner.

$sayi = 10;
while($sayi == 10) {
   echo 'sayi değişkeni 10 olduğu sürece bu yazı hep yazılacak';
}

Yukarıdaki örnek sonsuz döngüye girer, yani hatalıdır. Koşula $sayi değişkeni 10’a eşit olduğu sürece kod bloğunu ard arda çalıştır dedik. Döngüden önce $sayi değişkenine 10 değerini verdiğimiz için ve değerini hiç değiştirmediğimiz için döngü sonuza kadar döner.

Peki nasıl sınırlı ve kontrollü bir döngü yapacağız? Bu sorunun cevabıda gayet basit. Eğer döngü boyunca koşula yazdığımız değerlerin değişmesini sağlarsak döngüde belli bir dönüşten sonra durur. Hemen buna da bir örnek gösterelim.

$sayi = 0;
while($sayi < 5) {
   echo ' Döngü ' . $sayi;
   $sayi++;
}

Ekranda Döngü 0 Döngü 1 Döngü 2 Döngü 3 Döngü 4 yazar ve durur. Önce $sayi adında değişken oluşturup 0 değerini verdik, while döngümüzün koşulunada $sayi değişkeni 5 den küçük olduğu sürece dön dedik, kod bloğunun içerisine ise echo ile bir çıktı verdirdik ve hemen sonrasında $sayi değişkeninin değerini 1 arttırdık. Bu sayede her çalışmasında değer 1 artacak ve 5. çalışmasında duracaktır.

While için son örnek olarak birde matematiksel hesap yaptıralım:

$sayi = 1;
$sonuc = 1;
while($sayi < 10) {
   $sonuc = $sonuc * $sayi;
   $sayi++;
}
echo $sonuc;

Ekranda 362880 yazar. Burada $sonuc değişkenini her döngüde 1 arttırarak çarptık. Yani ilk olarak 1*1 sonrasında 1*2, sonra 2 * 3 … şeklinde sayı 10 dan küçük olana kadar çarptık.

For döngüsü

For döngüsü belirli sayıda dönecek olan kodların kullanımında kullanışlıdır. For döngüsüne 3 parametre girilir. Birinci parametre döngüde kullanılacak olan değişkeni ve değerini tanımlar, ikinci parametre whilede olduğu gibi koşulu belirtir, üçüncü parametre ise her döndüğünde yapacağı işlemi belirtir.

for( başlangıç; koşul; her çalışmada olacak olan ) {
   // koşul doğru olduğu sürece çalışacak kod bloğu
}

Hemen örnek bir kullanım göstereyim:

for($sayi = 0; $sayi < 5; $sayi++) {
   echo ' Döngü ' . $sayi;
}

Ekranda az önce while örneğindeki çıktı ile aynı sonucu alırız. İlk parametrede $sayi değişkenine 0 değerini atadık, ikinci parametrede koşulu belirttik ve son paramterede ise her çalışmada sayı değişkenini bir arttırmasını söyledik. Sonuç olarak böyle belli sayıda dönmelerde for en idealidir.

Foreach döngüsü

Foreach döngüsüne array döngüsü diyebiliriz. Paramtere olarak bir dizi alır, ve dizi içindeki eleman sayısı kadar döner. Sadece bir dizi ve foreach döngüsü ile güzel bir listeleme yapabiliriz. Kullanımı diğer döngülerden farklı ama basittir.

Paramterede as deyiminden sonra yazdığımız değişkene her döngüde sırayla bir eleman değerini yükler.

foreach($dizi as $eleman) {
   // dizinin tum elemanlarının sayısı kadar döner
}

Örnek kullanım:

$meyveler = array('Elma', 'Armut', 'Portakal', 'Muz');
foreach($meyveler as $meyve) {
   echo $meyve . ' Yiyin! ';
}

Ekranda Elma Yiyin! Armut Yiyin! Portakal Yiyin! Muz Yiyin! yazar.

Dizide ne kadar eleman varsa hepsini sırayla parameterede belirttiğimiz $meyve değişkenine atayarak döndürür.

Foreach anahtarları ve değerleri ile döndürme

İlk gösterdiğim kullanımda yanlızca dizideki değerlerine ulaşabiliyorduk. Şimdi dizideki hem anahtara hem de değere ulaşmak için ise “$dizi as $anahtar => $deger” şeklinde kullanacağız.

Örnek kullanım:

$bilgi['ad'] = 'Ümit';
$bilgi['yas'] = 30;
$bilgi['yer'] = 'İzmir';
foreach($bilgi as $isim => $deger) {
   echo $isim . ' : ' . $deger . ' <br/>';
}

Ekran çıktısı:
ad : Ümit
yas : 30
yer : İzmir

Foreach listeleme olaylarında en sık kullanacağımız döngülerden birisidir.

Do … While Döngüsü

Bu döngü diğerleri gibi pek fazla kullanılmaz, ama yine de bilmekte fayda var. Do While döngüsü aslında While döngüsünün koşul olayı ile aynı tek farkı; döngü koşul geçerli olsun ya da olmasın en az 1 kere çalışır. yani kod bir kere çalıştıktan sonra 2. dönmede koşulu kontrol eder, tüm espirisi budur.

do
{
   // 1 kez çalışıp sonradan koşul ile dönecek olan kod bloğu
}
while ( koşul );

Örnek kullanım:

$sayi = 20;
do
{
   echo 'Selam Dünya!';
}
while ( $sayi < 10 );

Ekranda 1 kez Selam Dünya! yazar.

Aslında while yazdığımız koşul geçersiz. Yani $sayi değişkeni 10 dan küçük değil ama do while döngüsünde koşula bakılamdan önce 1 kere çalıştırıldığı için kod bir kez çalıştırlacaktır.

Break ifadesi ile döngüleri durdurmak

Döngüleri sadece koşullar geçersiz olduğunda değil istersen break ifadesi ile istediğin yerde de durdurabilirsin. Örneğin deneme yanılma yolu ile çok uzun sürecek bir döngünün içindeyken aradığın şeyi bulduğunda döngünün daha fazla devam etmesini engelleyebilirsin.

Break türkçe anlamı kırmakdır. Yani döngüleri break ile istediğim yerde kırabiliriz. Hemen örnek bir kullanım gösterelim:

for($sayi = 0; $sayi < 100; $sayi++) {
   echo $sayi;
   if($sayi == 5) {
      break;
   }
}

Ekranda 012345 yazar.

Burada 100 kez dönecek olan bir for döngüsü yaptık ve her döndüğünde ekrana sayıyı yazmasını istedik. Ama aynı zamanda içine bir koşul daha koyduk, eğer sayi değişkeninin değeri 5 olur ise break ifadesini çalıştır. Yani 100’e kadar dönecek olan bir döngüyü break ile istediğimiz yerde durdurduk.

Şu ana kadar bu öğrendiklerimiz ile bile güzel ve işe yarar şeyler yapabilirsin. Mesela asal sayı hesaplama, hesap makinesi, kullanıcı ve üyelik sistemi, içerik listeleme sistemi vs. Bu bahsettiğim çalışmalarınıda örneğini ilerleyen zamanlarda yazılarımdan takip ederek bulabilirsin.[/vc_column_text]

[vc_column_text]Başlangıç seviyesinin son dersi olan fonksiyonlar bir şeyler inşa etmeye başlamamız için öğrenmemiz gereken en harika derslerden birisi. Teorik olarak matematik dersinde gördüğümüz fonksiyonlar gibidir.

Oluşturduğumuz bir değişken ve içine yazdığımız kodları istediğimiz yerde tanımladığımız fonksiyonun adıyla çalıştırıp tekrar tekrar kullanabiliyoruz.

Gerek çalışmalarımızda çok sık tekrar edeceğimiz kodları bir yerde paket haline getirip bir fonksiyon adıyla çağırmak için, gerekse işe yarar kodları belli başlıklar altında derleyip düzenli çalışmalar yapmak için göz bebeğimiz olan fonksiyonları öğrenmeye hazır olun.

PHP fonksiyon kullanımı

PHP’nin kendi içinde yüzlerce fonksiyonu vardır. Diğer derslerde gördüğümüz isset(), empty(),unset() gibi. Fonksiyon oluşturmak ve kullanmak gayet basit, ama basit olduğu gibi derin konuları da var.

İlk önce nasıl bir fonksiyon oluşturacağımızı gösterelim:

function selam_ver() {
   echo 'Selam!';
}

Yukarıda selam_ver() adında bir fonksiyon oluşturduk. Bu şekilde bir kodu çalıştırsak ekrana bir çıktı vermez. Çünkü şuan sadece bir fonksiyon tanımladık, içine yazılan kodların çalışması için o fonksiyonu çağırmamız gerekiyor.

Hemen bu fonksiyonun altına selam_ver(); yazacak olursak eğer, işte o zaman ekranda Selam!yazar.

Hemen başka bir örnek daha verelim:

function rakamlar() {
   for($sayi = 0; $sayi<10; $sayi++) {
      echo $sayi;
   }
}
rakamlar(); // oluşturduğumuz fonksiyonu çağıralım

Ekranda 0123456789 yazacaktır.

Fonksiyonlara parametre ekleme

Yukarıdaki örnekte yaptığımız fonksiyonlar dışarıdan veri almadan, her seferinde çağrıldıklarında aynı şeyi çalıştıracak olan fonksiyonlardı. Ama şimdi bu fonksiyonlara bir kaç parametre eklettirerek farklı kullanımlara kapılarını açabiliriz.

Hemen parametreli bir fonksiyon yapalım:

function topla($sayi1, $sayi2) {
   $sonuc = $sayi1 + $sayi2;
   echo $sonuc;
}
topla(5, 10);

Şimdi topla adında bir fonksiyon oluşturduk ve buna 2 adet parametre ekledik. $sayi1 ve $sayi2parametreleri bizim o fonksiyonu kullanırken yazacağım değerlerin yükleyeceği değişkenlerin adı.

Biz topla(5, 10) dediğimizde fonksiyon içinde $sayi1 değişkeninin değeri 5, $sayi2 değişkeninin değeri ise 10 olacak. Ve ekranda da 15 yazacaktır.

Parametreli fonksiyona bir başka örnek daha verelim:

function bolunur_mu($bu, $buna) {
   $kalan = $bu % $buna;
   if($kalan == 0) {
      echo $bu . ' sayısı ' . $buna . ' sayısına bölünür!';
   } else {
      echo $bu . ' sayısı ' . $buna . ' sayısına bölünmez! (kalan: '.$kalan.')';
   }
}
bolunur_mu(10, 2);
bolunur_mu(25, 10);

İki rakamın birbirine bölünüp bölünmediğini kontrol eden bir fonksiyon yaptık. Ve bu fonksiyonu 2 farklı değerde kullanıp çağırdık. Bu çalışmanın sonunda ekranda yazacak olanlar:

10 sayısı 2 sayısına bölünür!
25 sayısı 10 sayısına bölünmez! (kalan: 5)

Parametrelere varsayılan değer verme

Parametreli bir fonksiyon yaptığımızda sorunsuz çalışabilmesi için tüm parametrelerin girilmesi gerekir. Mesela yukarıda verdiğimiz topla fonksiyonunu topla(1); şeklinde çalışmaya kalktığımızda PHP hata verecektir.

Çünkü fonksiyonu 2 tane parametre ile çalışmak üzere tasarladık. Ama bu durumlara bir istisna sağlayarak parametrelerimize varsayılan değer atayıp, parametresiz de çalışmalarını sağlayabiliriz.
Şimdi varsayılan parametreli bir fonksiyon yapalım:

function hosgeldin($isim = 'Misafir') {
   echo 'Hoş geldin ' . $isim . '! ';
}
hosgeldin();
hosgeldin('Ümit');

Örnekte hosgeldin() fonksiyonunu ilk olarak parametresiz, ikinci olarak da parametreli çalıştırdık. Bu durumda fonksiyonun parametresini tanımladığımız yerde hosgeldin($isim = ‘misafir’) şeklinde parametreye varsayılan değer atadığımız için boş bıraktığımızda o parametreye bu değeri verecektir. Yani ekranın çıktısı aşağıdaki gibi olacaktır:

Hoş geldin Misafir!
Hoş geldin Ümit!

Return ifadesi ile sonucu atama

Yukarıda yaptığımız tüm örneklerde fonksiyon sonuçları echo ile ekrana yazdırdık. Peki ya biz fonksiyonlardan elde ettiğimiz sonuçları ekrana yazdırmak değilde bir değişkene atayıp kullanmak istiyorsak? İşte o zaman return ifadesini kullanacağız.

Return ifadesi ile fonksiyon içinde elde ettiğimiz sonucu dışarıya aktarırız. Hemen bir örnek ile hayata geçirelim:

function topla($sayi1, $sayi2) {
   $sonuc = $sayi1 + $sayi2;
   return $sonuc;
}
$hesap = topla(10, 20);
echo 'Fonksiyon ile toplama yaptık ve sonuç: ' . $hesap;

İşte yukarıdaki örnekte gördüğün gibi bu sefer aynı topla() fonksiyonu ile echo yerine returnyazdık. Bu da fonksiyonun sonucunu ona eşitlediğimiz bir değişkene atadı. Yani fonksiyon toplamayı yaptı ve sonucu $hesap değişkenine aktardı sonra biz onu echo ile ekrana yazdırdık.

Fonksiyonlarda global ifadesi kullanımı ve örneği

Fonksiyonların içerisinde tanımladığın değişkenler dışarıya gönderilmez ve aynı şekilde dışarıda tanımladığın bir değişken fonksiyon içinde görülmez. Yani fonksiyonlara kendi içinde bir dünya diyebilirsin. Hemen örnek ile kafanda canlandıralım:

function deneme() {
   $isim = 'Ümit';
}
deneme();
echo $isim;

Bu kodu çalıştırdığımızda PHP yalnızca isim adında bir değişken olmadığı için hata verir. Biz $isimdeğişkenini fonksiyon içinde tanımladık ve yalnızca orada kullanabiliriz. Dışarıya aktarmak için return ifadesini kullanıyoruz.

Eğer fonksiyon içine dışarıdan bir değişkeni sokmak istiyorsak, yani global bir değişkeni çağırmak istiyorsak global ifadesini kullanırız.

$isim = 'Ümit';
function selam() {
   global $isim; // Dışarıda tanımlanmış bir değişkeni fonksiyon içine çağırdık
   echo 'Selam ' . $isim;
}
selam();

Ekranda Selam Ümit yazar. Global ifadesini kullanarak fonksiyon dışında yazdığımız bir değişkeni çağırdık ve ekrana yazdırdık.
Return ifadesi kullanılmadan fonksiyon içindeki bir değişkeni veya çıktıyı dışarı aktaramayız. Global ifadesi kullanılmadan da dışarıda kullanılan bir değişkeni fonksiyon içine aktaramayız.

Fonksiyonlarda referans ile değer atama

Return ifadesini kullanarak değer atama yaparken fonksiyonun başında bir değişkeni ona atamak için (=) eşittir operatörünü kullanırız. Peki dikkatini çekti mi bilmiyorum ama dizilerde sıralama yapan fonksiyonları (sort(), rsort()) bu şekilde kullanmıyorduk.

Sadece fonksiyonu çalıştırarak dışarıdan parametreye gönderilen değişkenin değerini referanslar ile değiştirebiliriz.

Referans uygulamak istediğimiz değişkenin başına (&) operatörünü koyarız. Bu operatörü yerleştirdiğimiz parametreler, dışarıdan verilecek olan değişkenlerle beraber değişirler.

function topla(&$sayi) {
   $sayi = $sayi + 10;
}
$x = 10;
topla($x);
echo $x;

Ekranda 20 yazar. Topla fonksiyonunun parametresinde kullandığımız referans nedeniyle o parametreye yüklenen değişkenin değeri fonksiyon içinde değiştirmemizle değişecek. Burada da fonksiyon içinde o parametreye +10 eklediğimiz için dışarıdaki değişkeninde değeri 10 artmış oldu..

.[/vc_column_text]

[vc_column_text]TodoCheckbox’un HTML ve PHP ile kullanımı normal form elemanlarından biraz farklı.

Checkbox olayını iki farklı şekilde kullanabiliriz, birincisi sıkca gördüğümüz tek bir checkbox ile şartları kabul etme, onay alma mevzusu. Diğeri ise listelerde birden fazla maddeyi seçip çoklu işlem yaptırma.

Checkbox ile onay işlemi

Genellikle formların sonlarında şartları kabul edilmesinde kullanılan tek bir checkbox hazırlamanın çok fazla bir espirisi yok. Bir checkbox ekliyoruz ve PHP kısmında yanlızca elemana verdiğimiz adın gönderilip gönderilmediğine bakarak seçilip seçilmediğini anlıyoruz.

form.php:

<form action="kontrol.php" method="post">
    <label><input type="checkbox" name="onay"/> Onaylıyorum</label>
    <input type="submit" value="Tamam">
</form>

Önizleme:


Checkbox elemanını başlığı ile label arasına alarak “Onaylıyorum“a tıklandığında da checkboxu tetiklemesini sağlıyoruz.

kontrol.php:

if(isset($_POST['onay'])) { // checkbox seçilmişse "on" değeri gönderiliyor
    echo 'Onayladınız!';
} else { // seçilmemişse bu değer sayfaya hiç gönderilmiyor
    echo 'Onaylamadınız.';
}

Bu tür kullanımda checkboxa value yani değer tanımlamamıza gerek yok, çünkü sadece isset fonksiyonu ile seçilip seçilmediğini kontrol etmemiz yeterli. Eğer seçilmezse sayfaya checkboxun adında bir değer gitmiyor, eğer seçilirse de “on” değeri gönderiliyor.

Checkbox ile çoklu seçim ve işlem uygulama

Listelerde birden fazla maddeyi checkbox ile seçip toplu işlemler yapmak için bir array mantığı uygulayacağız.

form.php:

<form action="kontrol.php" method="post">
    <label><input type="checkbox" name="meyveler[]" value="elma"/> Elma</label><br/>
    <label><input type="checkbox" name="meyveler[]" value="armut"/> Armut</label><br/>
    <label><input type="checkbox" name="meyveler[]" value="cilek"/> Çilek</label><br/>
    <label><input type="checkbox" name="meyveler[]" value="muz"/> Muz</label><br/>
    <input type="submit" value="Tamam">
</form>

kontrol.php:

if(isset($_POST['meyveler'])) {
    $meyveler = $_POST['meyveler'];
    echo 'Seçtiğiniz meyveler: <br/>';
    foreach($meyveler as $meyve) {
        echo ' * ' . $meyve . ' <br/>';
    }
} else {
    echo 'Hiç meyve seçmediniz.';
}

Checkboxların her birinin name yani isim değerine “meyveler[]” dedik, buradan bu olayın array mantığıyla işlediğini daha iyi anlayabilirsiniz. Böylelikle her seçilen madde “meyveler” değerine bir array elemanı olarak ekleniyor. PHP tarafına ise bu POST değişkeni array olarak gönderiliyor.

Daha iyi anlamak için kontrol.php en başına print_r($_POST) yazarak gelen sonucu net şekilde görebilirsiniz:

Array
(
    [meyveler] => Array
        (
            [0] => elma
            [1] => cilek
            [2] => muz
        )
)

Çoklu seçilen maddeleri toplu silme uygulama

Yukarıdaki örnekte nasıl çoklu seçenek yapılacağını ve PHP’de nasıl karşılandığını örnek gösterdim. Bu yönteme bir de toptan içerik silme örneği gösterebilirim.

Bunun için ekranda veritabanından listelenmiş içerik örnekleri olduğunu varsayalım.

form.php

<form action="kontrol.php" method="post">
    <label><input type="checkbox" name="sil[]" value="1"/> Birinci yazının başlığı</label><br/>
    <label><input type="checkbox" name="sil[]" value="2"/> Bir diğer yazı başlığı</label><br/>
    <label><input type="checkbox" name="sil[]" value="3"/> Başka yazı</label><br/>
    <label><input type="checkbox" name="sil[]" value="4"/> Sonuncu yazı</label><br/>
    <input type="submit" value="Seçilileri sil">
</form>

Bu sefer checkboxlara “sil[]” ismini tanımladık ve değerlerine her yazının NO’sunu yazdık. Şimdi bu form ile birden fazla yazı seçildiğinde kontrol.php sayfasına silinecek yazılarının NO’sunu içeren “sil” adında bir array gönderilmiş olucak.

kontrol.php:

if(isset($_POST['sil'])) {
    $silinecekler = implode(', ', $_POST['sil']);
    mysql_query('DELETE FROM yazilar WHERE NO IN ( ' . $silinecekler . ' )');
    echo count($_POST['sil']) . ' adet yazı silindi.';
}

Bu sefer gelen arrayı implode ile birleştirdik, yani eğer 1. ve 4. yazıyı seçip formu gönderirsem$silinecekler değişkeni “1, 4″ şeklinde bir değer almış olacak. Sonuç olarakta içerikleri silecek MySQL sorgumuz ise şöyle olacak “DELETE FROM yazilar WHERE NO IN ( 1, 4 )” ve bu iki seçilmiş yazıyı silmiş olacağız.[/vc_column_text]

[/vc_column][/vc_row]

0 Yorum

Düşünceleriniz

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.

©2021 MAGGOG MEDYA | Tüm hakları DMCA tarafından korunmaktadır.

İLETİŞİM

Şikayet, öneri, teklif ve sorularınızı buradan iletebilirsiniz.

Sending
veya

Log in with your credentials

veya    

Bilgilerinizi unuttunuz mu?

veya

Create Account