Showing posts with label php. Show all posts
Showing posts with label php. Show all posts

Monday, June 16, 2014

Twig Extension içinde Symfony ContainerInterface kullanabilme

config.yml services altında

  ojstr.twig.ojs_extension:
  class: Sfapp\Common\Twig\SfappExtension
  arguments: [@service_container]
  tags:
    - { name: twig.extension } 



arguments sayesinden extension dosyasında service container'a erişebileceğim.


Sunday, May 18, 2014

Laravel 4.0 > 4.1 Upgrade Problem

Şurada güzelce açıklanan upgrade klavuzunu adım adım takip edince genelde sorununuz kalmaz. Ancak son denediğim güncelleme grişiminde "composer update" sırasında şöyle bir hata aldım.


PHP Fatal error:  Class 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider' not found in /home/tayyar/test/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php on line 123
{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Class 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider' not found","file":"\/home\/tayyar\test\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/ProviderRepository.php","line":123}}Script php artisan clear-compiled handling the post-update-cmd event returned with an error


                                                                    
  [RuntimeException]                                                                                                                                                  
  Error Output: PHP Fatal error:  Class 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider' not found in /home/tayyar/test/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php on line 123                                                                              


Bu veya benzer bir hata alınması halinde ilk olarak "composer update --no-scripts" çalıştırmalı. Ancak muhtemelen bu sorunu çözmeyecektir.

Sırayla

rm -rf vendor
rm  composer.lock
composer install

Artık sorununuz kalmamış olmalı.


Friday, May 2, 2014

HHVM on Ubuntu 14.04

Ubuntu 14.04'e yükseltmişseniz HHV derlemek için gerekli paketler bunlar

  sudo apt-get install \
autoconf automake binutils-dev build-essential cmake g++ git \ 
libboost-dev libboost-filesystem-dev libboost-program-options-dev libboost-regex-dev \ libboost-system-dev libboost-thread-dev libbz2-dev libc-client-dev \ 
libc-client2007e-dev libcap-dev libcurl4-openssl-dev libdwarf-dev libelf-dev \ 
libexpat-dev libgd2-xpm-dev libgoogle-glog-dev libgoogle-perftools-dev libicu-dev \ 
libjemalloc-dev libmcrypt-dev libmemcached-dev libmysqlclient-dev libncurses-dev \ 
libonig-dev libpcre3-dev libreadline-dev libtbb-dev libtool libxml2-dev zlib1g-dev libevent-dev \ 
libmagickwand-dev libinotifytools0-dev libiconv-hook-dev libedit-dev libiberty-dev libxslt1-dev ocaml-native-compilers

Thursday, February 7, 2013

php5 MongoClient 64bit integer problem

php-mongo ve long int değerlerle (tckn gibi) çalışırken sorun yaşamamak için php dosyanız içinde
ini_set('mongo.native_long', 1);

yapabilir veya php.ini içine
[mongodb]
mongo.native_long = 1


ekleyebilirsiniz

Wednesday, January 9, 2013

DotCloud Hemen Test Edip Kullanın

dotcloud.com

Heroku gibi node, python, ruby veya php uygulamalarinizi yukleyip yukunuze gore optimize edebileceginiz bir uygulama sunucusu.  Yine Heroku gibi eklentileri var. Mysql, redis, mongo, rabbitmq gibi

Hemen denemek icin CLI'ini indirmek gerek.
sudo pip install dotcloud
#belki oncesinde pip kurmaniz gerekebilir
#sudo easy_install pip
Ilk adim yeni bir proje dizini olusturun ve dotcloud bilgilerinizi girmek icin setup komutu verin
mkdir test1
dotcloud setup 
Tum ayarlari yml dosyalari uzerinden yapiyorsunuz. Ekleyeceginiz eklentileri veya uygulama turunu yml dosyasi ustunde yapiyorsunuz.

dotcloud create helloworldapp
calistirir calistirmaz dotcloud.yml dosyasinin olustugunu goreceksiniz
Ilk uygulamaniz icin http://docs.dotcloud.com/ adresinden konfigurasyon detaylarini gorebilirsiniz.
Ucretsiz olarak hemen deneyebilirsiniz.


Tuesday, February 14, 2012

David Zuelke : Large-Scale Data Processing With Hadoop and PHP

Kabaca map reduce nedir sorusunu sorduysaniz once bu linkBu sunum da David Zuelke'nin son 6 aydir her konferansta sundugu ve benim de cok begendigim bir cirpida Hadoop-PHP sunumu : Large-Scale Data Processing With Hadoop and PHP (PHPBNL2012 2012-01-27)
View more presentations from David Zuelke

Thursday, November 3, 2011

bazen olur 'pecl.php.net is using a unsupported protocol error'

mongo pecl eklentisi kurarken aldım bu hatayı
“pecl.php.net is using a unsupported protocol” .
Aklıma ilk gelen pecl update-channels yapmak oldu ama işe yaramadı.

Fakat sonra biraz arayınca /usr/lib/php/.channels daki dosyaları silip tekrar  pecl update-channels  yapınca düzeldi. 

Sunday, October 30, 2011

ZendCon 2011 Notları I, Learning CouchDB - Bradley Holt

İlgi çekici bir sunumdu. MongoDb varken CocuhDB kullanmaya başlayacağımı pek sanmıyorum [1] ancak yine de tanışmış olduk CouchDB ile.
Bradley Holt 1 saatlik sunumda [2] hem CouchDb'yi bizimle tanıştırdı hem de örnekler yaptı. Zaman kısa olduğundan kendi makinelerimize couchdb kurmaktansa http://www.iriscouch.com/ [3] üzerinden ücretsiz bir hesap açıp denemelerimizi oradan yaptık. Sunumdan aldığım notlar ile derlediğim ama henüz bitmemiş olan :) Türkçe sunumum aşağıda [4] :




1. Comparing MongoDB and CouchDB : http://www.mongodb.org/display/DOCS/Comparing+Mongo+DB+and+Couch+DB

2. Learning CouchDB - http://www.slideshare.net/bradley.holt/zendcon-2011-learning-couchdb

3. Iris Couch provides easy hosted CouchDB - http://www.iriscouch.com/

4. Sunuma doğrudan link : https://docs.google.com/presentation/pub?id=1xXQk0Jc8XqPHzO0sdb418U8OUgugFjYD0fhq-tTCbuQ&start=false&loop=false&delayms=15000

Thursday, May 5, 2011

Memcached : Deleting by Namespace

Bu tricki bilmiyordum. 


While memcached does not support any type of wildcard deleting or deletion by namespace (since there are not namespaces), there are some tricks that can be used to simulate this. They do require extra trips to the memcached servers however.Example, in PHP, for using a namespace called foo:

$ns_key = $memcache->get("foo_namespace_key");
// if not set, initialize it
if($ns_key===false) $memcache->set("foo_namespace_key", rand(1, 10000));
// cleverly use the ns_key
$my_key = "foo_".$ns_key."_12345";
$my_val = $memcache->get($my_key);
//To clear the namespace do:
$memcache->increment("foo_namespace_key");


Konuyu irdeleyin : http://code.google.com/p/memcached/wiki/FAQ#Deleting_by_Namespace

Thursday, April 7, 2011

cUrl proxy

İstek sınırı olan servisleri kullanırken cUrl' bir proxy listesi verip arada değiştiriyorum. Daha fazla kullanmış oluyorum. Bazen de bu yaptığım bu servisleri kötüye kullanmak mıdır diye düşünüyorum.


curl_setopt($ch, CURLOPT_PROXY, "http://proxy.gazi.edu.tr:2001");
curl_setopt($ch, CURLOPT_PROXYPORT, 2001);
curl_setopt ($ch, CURLOPT_PROXYUSERPWD, "user@gazi.edu.tr:password");

Wednesday, May 26, 2010

hız önemli mîrim

json_encode ve serialize arasındaki hız farkını bir de ben test etmek istedim hepsi bu.
Bendeki sonuç şuydu
JSON encoded in 0.17906808853149 seconds
PHP serialized in 0.4260368347168 seconds
json_encode() was roughly 137.92% faster than serialize()


Konuyu irdeleyin :
http://www.google.com.tr/search?sourceid=chrome&ie=UTF-8&q=json_encode+vs+serialize

<?php
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
$testArray = fillArray( 0, 4 );
//print_r($testArray );    

$start = microtime( true );
json_encode( $testArray );
$jsonTime = microtime( true ) - $start;
echo "JSON encoded in $jsonTime seconds<br>";

$start = microtime( true );
serialize( $testArray );
$serializeTime = microtime( true ) - $start;
echo "PHP serialized in $serializeTime seconds<br>";

if ( $jsonTime < $serializeTime )
    echo "json_encode() was roughly " . number_format( ($serializeTime / $jsonTime - 1 ) * 100, 2 ) . "% faster than serialize()";
else if ( $serializeTime < $jsonTime )
    echo "serialize() was roughly " . number_format( ($jsonTime / $serializeTime - 1 ) * 100, 2 ) . "% faster than json_encode()";
else 
    echo 'Unpossible!';


function fillArray( $depth, $max )
{
    static $seed;
    if ( is_null( $seed ) )
        $seed = array( 1,'a',2,'b',3,'c',4,'d',5,'e',6,'f',7,'g',8,'h',9,'i',0,'j' );
    
    if ( $depth < $max )
    {
        $node = array();
        foreach ( $seed as $key )
         $node[$key] = fillArray( $depth + 1, $max );
       
        return $node;
    }
    return 'empty';
}
?>

Saturday, October 17, 2009

web içeriğini sql cümleleriyle sorguluyorum

TAVSİYE EDİYORUM

php ile web içerikleri çekerken sql sorular gibi içerik sorgulamak için bunu kullanıyorum. Yani istediğim elemanları seçmek için oldukça fantastik bir class : htmlSQL
 "a PHP class to query the web by an SQL like language"


Örnek üzerinden deneyerek karar veirn : http://www.jonasjohn.de/lab/htmlsql/?url=2&q1=1&q2=8&q3=0


--


Kısa süreli deneyimim sonrasında gördüm ki oldukça işlemci yoran ve çok yavaş bir yöntem. Ancak hala "tavsiye ediyorum" etiketini kaldırmadım çünkü bir o kadar da eğlenceli.

Saturday, September 26, 2009

server-side değil "Client-side PHP"





Yine bir gün stumble yaparken şu js kütüphanesi ile karşılaştım : http://phpjs.org/

Asıl amacı php fonksiyonlarını client-side çalışır yapabilmek. Bir de kılıfı var; diyor ki : PHP.JS kullanarak, client-side teknolojiler ile çok uğraşan PHP geliştiricilerini hızladırabilir.

Bir de özetle şöyle demişler :
"PHP.JS is an open source project in which we try to port PHP functions to JavaScript. By including the PHP.JS library in your own projects, you can use your favorite PHP functions client-side."

İlk bakışta eksik yanı mutlaka çok olacaktır, ancak meseleyi irdeleyince php.js kullanan bir kütüphane daha buldum ki o daha tatmin edici geldi : http://www.harmony-framework.com
Harmony henüz beta ve kendilerini şöyle özetliyorlar :

Harmony's goal is to bring php in the browser, thus developing on the server and on the client side using only one language. PHP, which is simple to use and known by thousands, is a perfect fit. No needs to learn javascript any more. The conversion between the two language is instantaneous! (Learn what you cannot do).



Konuyu irdelemek için
http://phpjs.org
http://www.harmony-framework.com/

Thursday, September 17, 2009

php ile pdf işlemlerimi artık tcpdf ile yapıyorum

ÖĞRENDİM
TAVSİYE EDİYORUM

PHP ile pdf işlerim için bunca zamandır pdfb (fpdf+barcode) kullanıyordum ama artık daha iyi olduğunu düşündüğüm bir sınıf var : TCPDF

TCPDF'de de barkod özelliği eklenmiş.
Ayrıca örnekleri incelediğimde pdfb den eksik kalır yanı olmadığını gördüm.

Yapılabilecekler örnekleri ile şöyle sıralanmış :

  1. Simple PDF with default Header and Footer: [PHP] [PDF]
  2. Simple PDF without Header and Footer: [PHP] [PDF]
  3. Custom Header and Footer: [PHP] [PDF]
  4. Cell stretching: [PHP] [PDF]
  5. Multicell: [PHP] [PDF]
  6. WriteHTML and RTL support: [PHP] [PDF]
  7. Independent columns with WriteHTMLCell: [PHP] [PDF]
  8. External UTF-8 text file: [PHP] [PDF]
  9. Image: [PHP] [PDF]
  10. Multiple columns: [PHP] [PDF]
  11. Colored Tables: [PHP] [PDF]
  12. Graphic Functions: [PHP] [PDF]
  13. Graphic Transformations: [PHP] [PDF]
  14. Javascript and Forms: [PHP] [PDF]
  15. Bookmarks (Table of Content): [PHP] [PDF]
  16. Document Encryption: [PHP] [PDF]
  17. Independent columns with MultiCell: [PHP] [PDF]
  18. Persian and Arabic language on RTL document: [PHP] [PDF]
  19. Non unicode / Alternative config file: [PHP] [PDF]
  20. Multicell complex alignment: [PHP] [PDF]
  21. writeHTML alignment: [PHP] [PDF]
  22. CMYK colors: [PHP] [PDF]
  23. Page Groups: [PHP] [PDF]
  24. Object Visibility: [PHP] [PDF]
  25. Object Transparency: [PHP] [PDF]
  26. Text Clipping: [PHP] [PDF]
  27. Barcodes: [PHP] [PDF]
  28. Multiple page formats: [PHP] [PDF]
  29. Set PDF viewer display preferences: [PHP] [PDF]
  30. Colour gradients: [PHP] [PDF]
  31. Pie Chart Graphic: [PHP] [PDF]
  32. EPS/AI vectorial image: [PHP] [PDF]
  33. Mixed font types (TrueType Unicode, core, CID-0): [PHP] [PDF]
  34. Clipping masks: [PHP] [PDF]
  35. Line styles with cells and multicells: [PHP] [PDF]
  36. Text Annotations: [PHP] [PDF]
  37. Spot Colors: [PHP] [PDF]
  38. NON-embedded CID-0 CJK font: [PHP] [PDF]
  39. HTML Justification: [PHP] [PDF]
  40. Booklet (double-sided pages): [PHP] [PDF]
  41. File attachment: [PHP] [PDF]
  42. Image with Alpha Channel Transparency: [PHP] [PDF]
  43. Disk caching: [PHP] [PDF]
  44. Move and delete page: [PHP] [PDF]
  45. Table Of Content with Bookmarks: [PHP] [PDF]
  46. Text hyphenation: [PHP] [PDF]
  47. Transactions and UNDO: [PHP] [PDF]
  48. Table header and rowspan: [PHP] [PDF]
  49. TCPDF methods in HTML: [PHP] [PDF]
  50. Experimental 2D Barcode: [PHP] [PDF]
  51. Full page background: [PHP] [PDF]
  52. Digital Signature Certification: [PHP] [PDF]
  53. Javascript functions: [PHP] [PDF]
  54. XHTML Form: [PHP] [PDF]