Diğer

Tam profil php kimliği. XHProf ve xDebug - PHP kodunun profilini oluşturma. Sevdiğin şeyi yap

Uygulama profili oluşturma, çeşitli program bölümlerinin (dosyalar ve işlevler) yürütme hızına ilişkin verilerin toplanmasıdır. Birçok araç var PHP profil oluşturma ancak tüm araçlar doğrudan üretimde analiz yapmaya uygun değildir.

XHProf- uygulama çalışırken neredeyse hiç ek yük olmadan doğrudan istatistik toplayan mega basit bir profil oluşturucu.

Neden profil?

Bir uygulama yavaş çalışmaya başlarsa profil oluşturma, hangi bölümün yavaş olduğunu bulmanıza yardımcı olabilir. Profil oluşturmanın sonucu genellikle yürütülen işlevlerin ve bunların yürütme sürelerinin bir listesidir.

Profil oluşturma, herhangi bir uygulama optimizasyonundan önce yapılmalıdır. Aksi takdirde tahminlere göre yönlendirilirsiniz. Büyük olasılıkla yanlış.

Xdebug sorunu

Xdebug PHP için güçlü bir çözümdür. Ancak Xdebug platformunun kendisi o kadar ağır ki canlı sitelerde kullanılamaz. XDebug, sunucu kaynakları üzerinde önemli bir yük oluşturur ve uygulamayı yavaşlatır.

Öte yandan, canlı bir sitedeki sorunlar, geliştirme ortamındakilerden tamamen farklı olabilir. Yalnızca geliştirici bilgisayarlarda profil oluşturma, sorunların yalnızca bir kısmını gösterecektir.

Bu yüzden çözüm geliştirildi XHprof. Çalışan uygulamalarda kullanılmak üzere tasarlanmıştır. Bu profil oluşturucunun ana fikri, çalışma hızına ilişkin gerekli tüm verileri toplarken uygulama üzerinde minimum yük oluşturmaktır. Çözüm Facebook'taki adamlar tarafından geliştirildi ve PHP'nin yeni sürümleri tarafından destekleniyor.

XHProf

Kurulum

Debian'da XHprof sid paketlerindedir, yani: apt-get install xhprof

XHprof'u kendiniz de oluşturabilirsiniz.

Profil oluşturmayı etkinleştir

Diyelim ki aşağıdaki koda sahip bir betiğimiz var:

uygulamak();

XHprof kullanarak profil oluşturma işlemini gerçekleştirelim. Bu sayfada bunu yapmak için ihtiyacınız olan:

  1. Profil oluşturucuyu en baştan etkinleştirin.
  2. Programın en sonunda profil oluşturucuyu durdurun ve alınan verileri kaydedin.

Şunun gibi görünecek:

# Profil oluşturucuyu başlatxhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); # Profil oluşturucuyu açtıktan sonra programı yürütün uygulamak(); # Programı çalıştırdıktan sonra profil oluşturucuyu durdurun$xhprof_data = xhprof_disable();

# Profil oluşturma sonucunu $xhprof_data değişkenine kaydedin

  • İşlev xhprof_enable() bayrakları argüman olarak alır. İşlemci istatistiklerini kaydetmek için XHPROF_FLAGS_CPU, bellek için XHPROF_FLAGS_MEMORY, yerleşik işlevleri göz ardı etmek için XHPROF_FLAGS_NO_BUILTINS.
  • xhprof_disable() profil oluşturucuyu kapatacak ve toplanan istatistikleri döndürecektir.

Raporlar

Nesil

Toplanan veriler raporlar oluşturmak için XHprof arayüzünde analiz edilebilir. Bunu yapmak için XHprof kaynaklarını indirmeniz gerekir: cd /var/www; wget http://pecl.php.net/get/xhprof-0.9.4.tgz gzip -d xhprof-0.9.4.tgz tar -xvf xhprof-0.9.4.tar

Bundan sonra komut dosyasında değişiklik yapmanız gerekir:

include_once "/var/www/xhprof-0.9.4/xhprof_lib/utils/xhprof_lib.php"; include_once "/var/www/xhprof-0.9.4/xhprof_lib/utils/xhprof_runs.php"; $xhprof_runs = new XHProfRuns_Default(); $run_id = $xhprof_runs->save_run($xhprof_data, "test");

# Yeni kod, raporu GUI'de kullanılmak üzere kaydeder

Raporlar için arayüz

Raporu görmek için sanal ana bilgisayarı /var/www/xhprof-0.9.4/xhprof_html klasörüne yapılandırmanız gerekir. Örneğin Nginx'te:

Sunucu ( sunucu_adı xh..9.4/xhprof_html; index index.php; konum ~* \.(php)$ ( fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_params'ı dahil edin; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; )) nginx -s yeniden yükle

Bundan sonra bir rapor listesi görünecektir:

Tablo, ek bilgilerle birlikte bir sayfada gerçekleştirilen işlevlerin bir listesini içerir:

  • Çağrılar — işlev çağrılarının sayısı ve yüzdesi.
  • Dahil. Wall Time — iç içe geçmiş işlevlere sahip bir işlevin yürütme süresi.
  • Hariç. Duvar Süresi, iç içe geçmiş işlevler olmadan bir işlevin yürütme süresidir.
  • Dahil. CPU - iç içe geçmiş işlevlere sahip işlemci zamanı.
  • Hariç. CPU - iç içe geçmiş işlevler olmadan işlemci süresi.
  • Dahil. MemUse - iç içe geçmiş işlevlerle bellek tüketimi.
  • Hariç. MemUse - iç içe geçmiş işlevler olmadan bellek tüketimi.
  • Dahil. PeakMemUse - iç içe geçmiş işlevlerle maksimum bellek tüketimi.
  • Hariç. PeakMemUse - iç içe işlevler olmadan maksimum bellek tüketimi.

Grafik raporları

Grafiksel bir rapor oluşturmak için graphviz'in kurulu olduğundan emin olun: apt-get install graphviz

Kodun kaynak yoğun bölümleri sarı (orta) ve kırmızı (en ağır) renkle vurgulanmıştır. Bunlar, programın geri kalanına göre çok fazla kaynak kullanan kod bölümleridir. Bu, bir yavaş işlev veya hızlı bir işleve yapılan birçok çağrı olabilir. Örneğimizde, fonksiyon str_replace() 262 çağrı nedeniyle kırmızı olarak işaretlendi.

Raporları birleştir

XHprof arayüzü ayrıca birden fazla rapordaki toplu bilgileri aynı anda görüntülemenize de olanak tanır. Bunu yapmak için run_id virgüllerle ayrılmış olarak iletilir: http://xh..php?run= 53a894f6d5d9b,53a894fcf126e&kaynak=test

TL;DR

PHP'nin doğrudan üretimde profilini çıkarmak için XHprof'u kullanın.

Profil oluşturma sistemlerini kullanarak, PHP kodundaki hangi işlevlerin daha fazla CPU zamanı ve RAM tükettiği hakkında bilgi toplayabilir, yani bir PHP programındaki en yavaş ve en çok bellek gerektiren yerleri belirleyebilirsiniz.

xhprof

XHProf - Facebook tarafından geliştirilen PHP profil oluşturucu.

Kurulum:

Yetenek kurulumu php-pear pecl kurulumu xhprof-0.9.4 echo "extension=xhprof.so" > /etc/php5/mods-available/xhprof.ini ln -s /etc/php5/mods-available/xhprof.ini /etc /php5/conf.d/xhprof.ini apachectl'i yeniden başlat

Çalışmak için gerekli dosyalar dizinde bulunur /usr/paylaş/php. Ancak her şey değil, yalnızca PHP koduyla. Raporların normal görüntülenmesi için jquery ve css gereklidir. Github deposundan edinilebilirler:

Git klonu https://github.com/facebook/xhprof.git

Bundan sonra, veri toplamanın başlaması gereken yere PHP betik koduna şu satırı ekleyin:

Xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);

Veri toplamaya ilişkin parametreler parantez içinde belirtilmiştir. Bu durumda işlemci yükü ve RAM kullanımına ilişkin veriler toplanacaktır. Bir seçenek daha mümkün XHPROF_FLAGS_NO_BUILTINS kullanıldığında yerleşik işlevlere ilişkin veriler toplanmaz.

$xhprof_data = xhprof_disable(); include_once "xhprof_lib/utils/xhprof_lib.php"; include_once "xhprof_lib/utils/xhprof_runs.php"; $xhprof_runs = new XHProfRuns_Default(); $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_test"); echo "Rapor: http://domain.tld/xhprof_html/index.php?run=$run_id&source=xhprof_test"; yankı "\n";

Çizgide $run_id Tırnak işaretleri, isteğe bağlı olarak ayarlanabilen profilin adını gösterir.

İşlenen sonuç şöyle görünür:

Parametreyi belirtirseniz XHPROF_FLAGS_NO_BUILTINS, işlev çağrılarının sayısının önemli ölçüde azaldığı görülebilir:

Tablo aşağıdaki bilgileri sağlar:

Aramalar- işlev çağrılarının sayısı,
Duvar Süresi- dış kaynaklardan yanıt beklemek için harcanan süre dahil, işlevin toplam çalışma süresi,
İşlemci- işlevlerin işlenmesi için ne kadar zaman harcandığı,
MemKullanım- ne kadar RAM kullanıldı,
ZirveMemKullanımı- en yüksek bellek tüketimi.

Değiştiriciler şunlardır:

Dahil- dahil - bu işlevden diğer işlevlere yapılan çağrılar dikkate alınarak,
Hariç.- özel - işlev çağrıları hariç.

Ayrıca tablonun üzerinde toplam işlem süresi, kullanılan hafıza ve fonksiyon çağrılarının sayısı hakkında bilgiler bulunmaktadır.

Ayrıca XHProf kırmızı ve yeşil renklerle gösterilen iki çalıştırma arasında fark raporları oluşturmanıza olanak tanır. Bu raporlarla her kod değişikliğinden sonra iyileştirmelerin net bir resmini elde edebilirsiniz.

Böyle bir rapor almak için şuna benzer bir bağlantı kullanmanız gerekir:

http://domain.tld/xhprof_html/index.php?run1=run_id1&run2=run_id2&source=xhprof_test

Nerede run_id1 Ve run_id2- tanımlayıcıları başlatın.

Eğer yüklerseniz Grafikviz:

Yetenek kurulumu graphviz

Php profiler xhprof için veritabanlarını kullanan üçüncü taraf web arayüzleri de vardır:

xDebug

xDebug- Profil oluşturma özelliğine sahip PHP kod hata ayıklayıcısı, Derick Rethans tarafından yazılmıştır.

Kurulum:

Yum php5-xdebug'u yükleyin

Daha sonra yapılandırmayı düzenliyoruz:

Nano /etc/php5/mods-available/xdebug.ini

satırları buna ekleyerek:

Xdebug.profiler_enable = 1 xdebug.profiler_aggregate = Açık xdebug.profiler_output_dir = /tmp

Burada PHP profil oluşturucuyu etkinleştiriyoruz ve profillerin saklanacağı dizini belirliyoruz. Profiller gibi adlarla oluşturulur önbellek.out.*

Bir webgrind web istemcisi var: https://github.com/jokkedk/webgrind. Çok hızlı çalışmıyor ancak küçük profilleri hızlı bir şekilde görüntülemenizi sağlıyor. Aslında github'dan kopyalanması gereken PHP kodu budur:

Git klonu https://github.com/jokkedk/webgrind.git

bir dizin oluşturulacak ağ öğütücü Herhangi bir web sitesinin dizinine kopyalamanız ve ona tarayıcıdan erişmeniz gerekir. Daha sonra, yapılandırma dosyasındaki çizimin Debian'da çalışmasını sağlamak için yapılandırma.php yürütülebilir dosyanın yolunu düzeltmeniz gerekir grafikviz. Şunun gibi görünmeli:

Statik $dotExecutable = "/usr/bin/dot";

Ayrıca saat dilimini de ayarlayabilirsiniz:

Statik $defaultTimezone = "Avrupa/Moskova";

Başlıkta bir profil seçebilir ve yerleşik işlevleri dikkate almak için kutuyu işaretleyebilirsiniz. Tablonun kendisi işlevleri, çağrı sayısını, işlevin çalışma süresini ve bekleme dahil süreyi gösterir. İşlevlerin derinliklerine inmek için üçgen oka tıklamanız yeterlidir. Benim durumumda, oldukça büyük profillerde (birkaç megabayttan), sonuç için bekleme süresi gereksiz derecede yüksekti. Oldukça büyük profiller için yerel görüntüleme programlarını kullanmak muhtemelen daha iyidir.

Grafik şöyle görünebilir:

dikkat ağ öğütücü Yetki verilmediğinden ancak php dosya koduna erişim olduğundan üretim sunucularında kullanılmamalıdır. Gerekirse en azından temel Apache yetkilendirmesini kullanın.

Linux için profilleri analiz etmeye yönelik programlar da vardır:

Profil oluşturma hakkında

Profil verileri, uygulamanızı geliştirmenize, yani belirli hedeflere ulaşmanıza, örneğin bellek tüketimini azaltmanıza, sayfa oluşturma süresini kısaltmanıza vb. yardımcı olabilir.

Profildeki bilgiler optimizasyonun başlangıç ​​noktasıdır: sonucun oluşturulmasının ne kadar sürdüğünü, ne kadar bellek kullanıldığını ve kaç işlev çağrısı yapıldığını söyler. Daha ayrıntılı verilerle bu ölçümleri iyileştirebilirsiniz.

Örneğin, bir çerçeve kullanıyorsanız, çerçevenin bazı işlevlerini kullanmak, birkaç temel işlevin çağrılmasına yol açabilir. Bazı verileri birden çok kez okuyorsanız sonucu bir değişkende saklamak faydalı olabilir.

Profil oluşturucu ayrıca PHP kodunu önbelleğe almanın nerede kullanılacağını anlamanıza da yardımcı olabilir; örneğin, APCu veya önbelleğe alınmış.

Her şeyden önce, en fazla yürütme süresi gerektiren işlevleri optimize etmeye değer. Her şey optimize edildiğinde ve iyileştirilecek hiçbir şey kalmadığında, işlevleri çağrı sayısına göre sıralamak ve azaltmak için çalışmak faydalı olacaktır. PHP hızlı olsa bile, işlevlerin bu kadar sık ​​çağrılmasının gerekip gerekmediğini düşünmeye değer mi?

Aşağıdaki durumlarla karşılaşırsanız önbelleğe almayı düşünmelisiniz:

  • Değişmez fonksiyonlar bir döngü içinde çağrılır,
  • Bazı içerikler iki kez oluşturulur,
  • Her seferinde değişmeyen içerik üretilir,
  • İçerik kullanılmasa bile üretilir.

Bellek de değerli bir kaynak olduğundan her şeyi önbelleğe almamalısınız. Eriştiğiniz verileri sürekli önbelleğe alın. Ayrıca, önbelleğe alma, tasarruf ettiğinden daha fazla kaynağı israf ediyorsa, önbelleğe almanın pek bir anlamı yoktur.

Kodu önbelleğe almanın yanı sıra, web sunucusunu () ve istemci tarafını kullanarak önbelleğe almayı da unutmayın. Doğru başlıkları kullanırsanız birçok istek sunucuya ulaşmadan çözülebilir.

Bir kişinin “başarısız” olduğunun sinyalini vermek.

Birçok insan bunu hiç fark etmiyor.

Başlarındaki "beton levha" o kadar tanıdık ve tanıdık geliyor ki, yaratıcı bir duruma geçişi - güçle dolu olduklarında, her şeye kadir olduklarını ve var olan her şeyle bir olduklarını hissettiklerinde - alışılmadık bir şey olarak algılıyorlar... onlar için bu bir güçlü bir atılım.

Ama bu bir insanın DOĞAL hali mi?!

Yani ne zaman:

KENDİNİZE doğru adım atın. Her gün meydan okuyor

Kendinizi sevmeyi nasıl öğreneceğinizi bilmiyor musunuz?

Kendinizi ve hayatınızı bütünüyle kabul etmenize yardımcı olacak 14 egzersizi öğrenin!

“Anlık Erişim” butonuna tıklayarak kişisel verilerinizin işlenmesine izin vermiş ve şunları kabul etmiş olursunuz:

  • Kendine acıma durumuna düşüyorsun
  • Çoğu zaman kendinizi kötü bir ruh halinde hissedersiniz
  • Kendini küçük ve değersiz hissediyorsun
  • Duyguların tarafından yönlendiriliyorsun
  • “Otomatik olarak” hareket etmek
  • sabah kalkmak istemiyorum
  • Sürekli engellerle karşılaşıyorsunuz
  • Güçsüz hissetmek

BAŞARISIZ olduğunuzu söylemek güvenlidir.

Ve “şifa” yolundaki ilk adım GÖR ve farkına var, sen düştün... her zamanki yaratıcı durumunun dışına çıktın.

Bunu ne kadar erken yaparsanız, KENDİNİZE dönmek için o kadar çabuk harekete geçersiniz!

Eğer “başarısız olduysanız” - 3 boyutlu bir delikten nasıl çıkılır

Aniden gri ve donuk hale gelen şeyin etrafınızdaki dünya olmadığını, kendinizin onu bu şekilde algılamaya başladığınızı anladığınız anda, asıl göreviniz DEĞİŞTİRMEKTİR.

Bunu farklı şekillerde yapabilirsiniz:

1. Size ilham veren müzik çalın

Tahriş, yorgunluk ve kötü ruh hali etrafınızda düşük titreşimli enerjiden oluşan bir koza yaratır.

Daha yüksek bir titreşime uyum sağlamanıza olanak sağlayacak parça ve beste koleksiyonunuzu toplayın.

Müzikçalarda en sevdiğiniz şarkıları açıp her zamanki işlerinizi yapmaktan daha kolay ne olabilir?

Genellikle böyle bir durumda kişi, ruh haline uygun olarak melankolik ve hatta yozlaşmış bir şeye çekilir... Acilen değiştirin!

Böyle anlarda, Anastasia Dobrovolskaya'nın gerçekleştirdiği Hallelujah'ı kendim açıyorum)))

Başarısız olduğunuzda kendinizi yalnız hissedersiniz ve kimse sizi takdir etmez veya anlamaz. İçinizde acılık ve kendine acıma büyür.

Şu anda kalbiniz sizi korumak için tasarlanmış ağır bir zırhla kaplıdır.

Kapalı bir kalple yaratıcı bir duruma girmek imkansızdır!

Yani senin görevin kendi duyarlılığınızı geri kazanın. Bu, meditasyon uygulamaları yoluyla yapılabilir (bkz. madde 6).

Veya iyi bir film izlemenin faydalarını ve keyfini birleştirin.

Komediler işe yaramaz. Ruhunuza dokunan, empati kurmanızı sağlayan bir filme ihtiyacınız var!

Örneğin bunlar:

3. Kendinizi canlı izlenimlere kaptırın

Ruhunuz parlak renklerle beslenir. Bunu ona ver. “İstemiyorum” diyerek bile!

Evden çık. alışverişe, galerilere, müzelere gidin. Gerçek hayatta veya sanal olarak (İnternet buna izin verir).

Şahsen ben şehrin gece ışıklarından çok ilham alıyorum.

Ve dün gece kendimizi bir peri masalının içinde bulduk: Dışarıda sis vardı ve denize gitmeye karar verdik... Dalgaların hışırtısı, etraftaki süt rengi sis ve fenerlerin büyüleyici ışığı... Tamamen gerçeküstü. Teknolojinin bu güzelliği aktaramaması üzücü.

4. Sevdiğiniz şeyi yapın

Kendinizi yapmayı sevdiğiniz işe kaptırdığınızda, müdahaleci düşünceler, şüpheler ve sorular arka planda kaybolur.

Yaratıcılığınızı harekete geçirir ve YARATIRSINIZ.

Yaptığınız işin dürtüsünü hemen yakalayamayabilirsiniz... Önemli olan yarı yolda durmamaktır. Bu sizin kaynak durumunuzdur ve bunu biliyorsunuz.

Bu yüzden bunu daha sonraya ertelemeyin, sevdiğiniz şeye tutkuyla dalmak için zaman ayırın.

5. Doğadan uzaklaşın

Doğanın kötü havası, kötü ruh hali yoktur. Doğa, doğal olarak dengelenmenizi sağlar.

Tüm ailenizle yürüyüşe çıksanız bile 10 dakika boyunca dokunmamanızı rica edin. Kenara çekilin, rüzgarın sesini, ağaçların gıcırtısını dinleyin, sert ağaç kabuğuna dokunun. Gökyüzüne bak. Doğanın dengesini her hücrenize özümseyin.

Dikkatinizi değiştirdiğinizde bir sonraki adıma geçme zamanı gelir. Artık az çok dengelisiniz ve normal durumunuza dönmenize yardımcı olacak basit uygulamaları gerçekleştirebiliyorsunuz.

Her türlü uyum ve dengeleme yöntemi, kalbi açma ve Ruhun dikey kanalını inşa etme uygulamaları ve enerji seviyenizi artıracak enerji uygulamaları uygundur.

6. Kalbinizi açın

Şikayetleriniz, iddialarınız, kendinize olan kızgınlığınız ve özeleştiriniz, kalbinizin enerji kanallarını damla damla tıkıyor.

7. Yüksek Benliğinizden kutsama ve destek isteyin

Başarısızlık anında kendinizi küçük bir insan gibi hissedersiniz, o kadar sıradan ve spontane ki, büyük olasılıkla yalnızca bedeniniz, düşünceleriniz ve duygularınız olmadığınızı unutursunuz.

Daha bilge ve daha gelişmiş bir parçanızın - Yüksek Benliğinizin - sizin hayatınıza müdahale etmeyen Yüksek Benliğiniz olduğunu unutursunuz. SORMAYIN bu konuda.

Bu, “İsteyin, size verilecektir” anlamına gelir!

Eğer bu parçanızla hiç tanışmadıysanız/iletişim kurmadıysanız, meditasyon bunu yapmanıza yardımcı olacaktır.

8. Başarısızlıktan dolayı kendinizi affedin.

Durumunuzun nedeni ne olursa olsun, olanlardan bilinçaltınızda kendinizi sorumlu ve ciddi vakalarda suçlu gördüğünüzü bilin.

Ho'oponopono temizleme tekniği 4 adımdan oluşur: Çok üzgünüm. Üzgünüm. Teşekkür ederim. Seni seviyorum.

Yıllar önce dünyam gözlerimin önünde yıkılırken şu cümleler belirdi kafamda:

Seni affediyorum. Teşekkür ederim. Seni sevgiyle serbest bırakıyorum.

Birkaç saat boyunca bunları bir mantra gibi yüksek sesle söyledim ve sonra önemli bir unsuru unuttuğumu fark ettim ve şunu ekledim: Kendimi affediyorum!

Bu deneyim için KENDİNİZİ affedin. Bunun için KENDİNİZE teşekkür edin. Ve sevgiyle bırak.

9. Minnettarlık Şarkısını Söyleyin

Birçok insanın bu şarkıyla ilgili mistik deneyimleri var. Bunun işinize yaraması için 3 koşulu yerine getirmeniz önemlidir: 1) kimsenin dikkatinizi dağıtmaması ve kendinizi rahat hissetmeniz için yaklaşık 15 dakika dinlenin, 2) hoparlörleri maksimuma açın, 3) Deva Premal ile birlikte şarkı söyleyin. “Şükürler olsun”un kadın kısmı tam güçle.

Hallelujah bir şükran şarkısıdır. Hayatınızda olan ve olan her şey için.

Bu bestenin havasını yakalayın ve bildiğiniz şekilde şarkı söylemekten çekinmeyin. Sesiniz kendisini istenen titreşime ayarlayacaktır.

Ve boğaz merkezi bu dünyada kendinizi ifade etmenizden sorumlu olduğundan, yalnızca minnettarlığınızı değil, aynı zamanda özünde kim olduğunuzu da maskeler, iddialar ve başarısızlıklar olmadan ifade edersiniz.

Deneyin! Pişman olmayacaksın!

Not: Ruhunuza dokunan filmlerin isimlerini yoruma yazmanızı öneririm (müzik parçalarını da reddetmeyeceğiz).

P.P.S. Youtube'da favori videolarınızın linklerini paylaşırsanız minnettar olurum, stoklarım zaten azaldı ((

Profil veri döngüsü, tüm özel BuddyPress döngüleri arasında en karmaşık olanıdır. Aslında iki döngü bir arada; birincisi profil alanı grupları arasında geçiş yapmak, ikincisi ise o profil alanı grubundaki profil alanları arasında geçiş yapmak.

Standart Döngü

Bu kullanıcının bir profili yok.

Kabul Edilen Parametreler

bp_group_has_profile() işlevi, döndürülen verileri değiştirecek bir dizi parametreyi kabul edecektir.

  • profile_group_id isteğe bağlı

    Varsayılan olarak tüm gruplar ve tüm alanlar görüntülenecektir. Bir profil alanı grubunun kimliğini sağlarsanız yalnızca bu gruptaki alanlar görüntülenecektir.

    • Varsayılan değer: yanlış
  • user_id isteğe bağlı

    Profil verilerini almak istediğiniz kullanıcının kimliği. Bir üye profili URL'sinin (/üyeler/andy/...) dışındaysanız bu gereklidir, aksi halde görüntülenen kullanıcının kimliğidir.

    • Varsayılan değer: bp_displayed_user_id()
  • üye_türü isteğe bağlı

    Alanları belirli bir üye türüyle veya üye türleri dizisiyle sınırlandırılanlara göre sınırlayın. $user_id sağlanırsa $member_type değeri, sağlanan kullanıcının üye türleri tarafından geçersiz kılınır. 'Herhangi biri'nin özel değeri yalnızca üye türüne göre sınırlandırılmayan alanları, yani herhangi bir türe uygulanabilen alanları döndürür.

    • Varsayılan değer: yanlış
  • hide_empty_groups isteğe bağlı

    Varsayılan olarak boş gruplar görüntülenmez. 0 değerini girerseniz tüm gruplar görüntülenecektir.

    • Varsayılan değer: doğru
  • hide_empty_fields isteğe bağlı

    Varsayılan olarak, boş alanları yalnızca Kontrol Panelindeysek veya bir kullanıcının profil düzenleme sayfasındaysak veya bu bir kayıt sayfasıysa gösterir. 0 değerini girerseniz tüm alanlar sayfanızda görüntülenecektir.

    • Varsayılan değer: !is_network_admin() && !is_admin() && !bp_is_user_profile_edit() && !bp_is_register_page()
  • fetch_fields isteğe bağlı

    Her grubun alanlarının getirilip getirilmeyeceği.

    • Varsayılan değer: yanlış
  • fetch_fields_data isteğe bağlı

    Her alan için veri getirilip getirilmeyeceği. $user_id gerektirir.

    • Varsayılan değer: yanlış
  • hariç_gruplar isteğe bağlı

    Hariç tutulacak grup kimliklerinin virgülle ayrılmış listesi veya dizisi.

    • Varsayılan değer: dizi()
  • hariç tutulan_alanlar isteğe bağlı

    Hariç tutulacak alan kimliklerinin virgülle ayrılmış listesi veya dizisi.

    • Varsayılan değer: dizi()
  • update_meta_cache isteğe bağlı

    Alınan tüm gruplar, alanlar ve veriler için xprofilemeta'nın önceden getirilip getirilmeyeceği.

    • Varsayılan değer: doğru

Gelişmiş Kullanım

Kimliği 10 olan kullanıcının tüm profil verilerini getirin.

ID 10'a sahip kullanıcı için ID 2 profil grubundaki alanların profil verilerini getirin.

Profil grubu kimliği 2'deki alanlar için profil verilerini getirin.

Geçerli kullanıcının tüm profil verilerini, hatta boş alanları ve grupları bile getirin.

Kimliği 10 olan kullanıcının, kimliği 5, 6, 7 olan alanlar hariç tüm profil verilerini getirin.