Tervehdys, rakas ystävä! Yksinkertainen esimerkki PHP:n ja AJAX:n käytöstä Huono menestys php

Uusi parametrien jäsennyssovellusliittymä: Tässä luvussa dokumentoidaan uusi Zend Parameter Parsing API, jonka on kirjoittanut Andrei Zmievski. Se otettiin käyttöön PHP 4.0.6 - 4.1.0 välillä.

Parametrien jäsentäminen on yleisin ja tylsin toimenpide. Olisi myös kätevää saada käyttöön standardoitu virheiden tarkistus- ja raportointimekanismi. PHP 4.1.0:sta lähtien kaikki tämä on mahdollista tehdä uudella Parameter Parsing API:lla. Se yksinkertaistaa huomattavasti parametrien hankintaprosessia, mutta haittana on, että sitä ei voida käyttää funktioissa, jotka odottavat muuttuvan määrän parametreja. mutta koska useimmat toiminnot eivät kuulu tähän luokkaan, tätä jäsennyssovellusliittymää suositellaan uudeksi standardiksi.

Parametrien jäsennysfunktion prototyyppi on:

int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...);

Tämän funktion ensimmäinen argumentti on funktiolle todellisuudessa välitettyjen parametrien lukumäärä, joten ZEND_NUM_ARGS() voidaan käyttää tässä. Toisen parametrin tulee aina olla TSRMLS_CC-makro. Kolmas argumentti on merkkijono, joka määrittää funktiosi odottamien argumenttien lukumäärän ja tyypit, aivan kuten printf-muotoinen merkkijono määrittää tulosarvojen määrän ja muodon, joita sen tulee toimia. Lopuksi loput argumentit ovat osoittimia muuttujiin, joiden pitäisi ottaa arvot parametreista.

zend_parse_parameters() Se myös suorittaa tyyppimuunnoksen mahdollisuuksien mukaan, joten saat aina tiedot pyytämässäsi muodossa. Mikä tahansa skalaarityyppi voidaan muuntaa toiseksi, mutta muuntaminen monimutkaisten tyyppien (taulukot, objektit ja resurssit) ja skalaarityyppien välillä ei ole sallittua.

Jos parametri voidaan vastaanottaa onnistuneesti eikä muunnosprosessissa ollut virheitä, funktio palauttaa SUCCESS, muuten FAILURE. Toiminto näyttää informatiiviset virheilmoitukset, jos vastaanotettujen parametrien määrä ei vastaa pyydettyä numeroa tai jos tyypin muuntamista ei voida suorittaa.

Tässä muutamia esimerkkejä virheilmoituksista:

Varoitus! - ini_get_all() vaatii enintään 1 parametrin, 2 annettu Varoitus! - wddx_deserialize() odottaa, että parametri 1 on merkkijono, taulukko on annettu

Luonnollisesti jokaisen virheilmoituksen mukana on tiedoston nimi ja rivi, jolla virhe tapahtui.

Tässä on täydellinen luettelo tyyppimäärityksistä:

    s - merkkijono (mahdollisilla nollatavuilla) ja sen pituus

  • r - zval:iin tallennettu resurssi*

    a - zval:iin tallennettu matriisi*

    o - objekti (josta tahansa luokasta) tallennettu zval*:iin

    O - objekti (luokkamerkinnän määrittämä luokka), joka on tallennettu zval*:iin

    z - nykyinen zval*

Myös seuraavilla merkeillä on merkitys tarkennemerkkijonossa:

    | - osoittaa, että muut parametrit ovat valinnaisia. Näitä parametreja vastaavat tallennusmuuttujat on alustettava oletusarvoihin laajennuksen toimesta, koska jäsennystoiminto ei vaikuta niihin, jos parametreja ei välitetä.

    / - jäsennysfunktio kutsuu SEPARATE_ZVAL_IF_NOT_REF() sitä seuraavan parametrin osalta antaa kopio kyseisestä parametrista, ellei se ole viite.

    Seuraava parametri voi olla määritettyä tyyppiä tai NULL (koskee vain a, o, O, r tai z). Jos käyttäjä välittää NULL-arvon, tallennettu osoitin asetetaan arvoon NULL .

On parasta näyttää, miten tämä toiminto toimii esimerkein:

Huomaa, että kolmannessa esimerkissä ohitamme 3 hyväksyttävien vastaanottoparametrien lukumäärän sijaan ZEND_NUM_ARGS(). Näin voimme vastaanottaa pienimmän määrän parametreja, jos funktiomme odottaa niitä muuttuvan määrän. Tietenkin, jos haluat työskennellä muiden parametrien kanssa, sinun on käytettävä zend_get_parameters_array_ex() vastaanottamaan niitä.

Jäsentäjäfunktiolla on laajennettu versio, jossa on ylimääräinen lippuargumentti, joka ohjaa sen toimintaa.

int zend_parse_parameters_ex(int-liput, int num_args TSRMLS_DC, char *type_spec, ...);

Ainoa tällä hetkellä välitettävä lippu on ZEND_PARSE_PARAMS_QUIET, joka käskee toimintoa olemaan tulostamatta virheilmoituksia toiminnan aikana. Tätä voidaan käyttää funktioissa, jotka odottavat useita täysin erilaisia ​​argumentteja, mutta sinun on tulostettava virheilmoitus itse.

Näin saat esimerkiksi kolmen pitkän joukon tai merkkijonon:

pitkä l1, l2, l3; char *s; if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "lll", &l1, &l2, &l3) == SUCCESS) ( /* toimivat pitkällä */ ) else if (zend_parse_parameters_ex),(ZEND_NUM_PARSEAR_s),(ZEND_NUM_PARSEAR_ , &s_len) == SUCCESS) ( /* työskentelee merkkijonon kanssa */ ) else ( php_error(E_WARNING, "%s() ottaa argumenttina joko kolme pitkää arvoa tai merkkijonon", get_active_function_name(TSRMLS_C)); return; )

Käyttämällä käsiteltyjä menetelmiä funktion parametrien saamiseksi sinun pitäisi ymmärtää tämä prosessi hyvin. Katso lisää esimerkkejä PHP:n mukana tulevien laajennusten lähdekoodista – ne kuvaavat jokaista esitettyä tapausta.

Uusi parametrien jäsennyssovellusliittymä: Tässä luvussa dokumentoidaan uusi Zend Parameter Parsing API, jonka on kirjoittanut Andrei Zmievski. Se otettiin käyttöön PHP 4.0.6 - 4.1.0 välillä.

Parametrien jäsentäminen on yleisin ja tylsin toimenpide. Olisi myös kätevää saada käyttöön standardoitu virheiden tarkistus- ja raportointimekanismi. PHP 4.1.0:sta lähtien kaikki tämä on mahdollista tehdä uudella Parameter Parsing API:lla. Se yksinkertaistaa huomattavasti parametrien hankintaprosessia, mutta haittana on, että sitä ei voida käyttää funktioissa, jotka odottavat muuttuvan määrän parametreja. mutta koska useimmat toiminnot eivät kuulu tähän luokkaan, tätä jäsennyssovellusliittymää suositellaan uudeksi standardiksi.

Parametrien jäsennysfunktion prototyyppi on:

int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...);

Tämän funktion ensimmäinen argumentti on funktiolle todellisuudessa välitettyjen parametrien lukumäärä, joten ZEND_NUM_ARGS() voidaan käyttää tässä. Toisen parametrin tulee aina olla TSRMLS_CC-makro. Kolmas argumentti on merkkijono, joka määrittää funktiosi odottamien argumenttien lukumäärän ja tyypit, aivan kuten printf-muotoinen merkkijono määrittää tulosarvojen määrän ja muodon, joita sen tulee toimia. Lopuksi loput argumentit ovat osoittimia muuttujiin, joiden pitäisi ottaa arvot parametreista.

zend_parse_parameters() Se myös suorittaa tyyppimuunnoksen mahdollisuuksien mukaan, joten saat aina tiedot pyytämässäsi muodossa. Mikä tahansa skalaarityyppi voidaan muuntaa toiseksi, mutta muuntaminen monimutkaisten tyyppien (taulukot, objektit ja resurssit) ja skalaarityyppien välillä ei ole sallittua.

Jos parametri voidaan vastaanottaa onnistuneesti eikä muunnosprosessissa ollut virheitä, funktio palauttaa SUCCESS, muuten FAILURE. Toiminto näyttää informatiiviset virheilmoitukset, jos vastaanotettujen parametrien määrä ei vastaa pyydettyä numeroa tai jos tyypin muuntamista ei voida suorittaa.

Tässä muutamia esimerkkejä virheilmoituksista:

Varoitus! - ini_get_all() vaatii enintään 1 parametrin, 2 annettu Varoitus! - wddx_deserialize() odottaa, että parametri 1 on merkkijono, taulukko on annettu

Luonnollisesti jokaisen virheilmoituksen mukana on tiedoston nimi ja rivi, jolla virhe tapahtui.

Tässä on täydellinen luettelo tyyppimäärityksistä:

    s - merkkijono (mahdollisilla nollatavuilla) ja sen pituus

  • r - zval:iin tallennettu resurssi*

    a - zval:iin tallennettu matriisi*

    o - objekti (josta tahansa luokasta) tallennettu zval*:iin

    O - objekti (luokkamerkinnän määrittämä luokka), joka on tallennettu zval*:iin

    z - nykyinen zval*

Myös seuraavilla merkeillä on merkitys tarkennemerkkijonossa:

    | - osoittaa, että muut parametrit ovat valinnaisia. Näitä parametreja vastaavat tallennusmuuttujat on alustettava oletusarvoihin laajennuksen toimesta, koska jäsennystoiminto ei vaikuta niihin, jos parametreja ei välitetä.

    / - jäsennysfunktio kutsuu SEPARATE_ZVAL_IF_NOT_REF() sitä seuraavan parametrin osalta antaa kopio kyseisestä parametrista, ellei se ole viite.

    Seuraava parametri voi olla määritettyä tyyppiä tai NULL (koskee vain a, o, O, r tai z). Jos käyttäjä välittää NULL-arvon, tallennettu osoitin asetetaan arvoon NULL .

On parasta näyttää, miten tämä toiminto toimii esimerkein:

Huomaa, että kolmannessa esimerkissä ohitamme 3 hyväksyttävien vastaanottoparametrien lukumäärän sijaan ZEND_NUM_ARGS(). Näin voimme vastaanottaa pienimmän määrän parametreja, jos funktiomme odottaa niitä muuttuvan määrän. Tietenkin, jos haluat työskennellä muiden parametrien kanssa, sinun on käytettävä zend_get_parameters_array_ex() vastaanottamaan niitä.

Jäsentäjäfunktiolla on laajennettu versio, jossa on ylimääräinen lippuargumentti, joka ohjaa sen toimintaa.

int zend_parse_parameters_ex(int-liput, int num_args TSRMLS_DC, char *type_spec, ...);

Ainoa tällä hetkellä välitettävä lippu on ZEND_PARSE_PARAMS_QUIET, joka käskee toimintoa olemaan tulostamatta virheilmoituksia toiminnan aikana. Tätä voidaan käyttää funktioissa, jotka odottavat useita täysin erilaisia ​​argumentteja, mutta sinun on tulostettava virheilmoitus itse.

Näin saat esimerkiksi kolmen pitkän joukon tai merkkijonon:

pitkä l1, l2, l3; char *s; if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "lll", &l1, &l2, &l3) == SUCCESS) ( /* toimivat pitkällä */ ) else if (zend_parse_parameters_ex),(ZEND_NUM_PARSEAR_s),(ZEND_NUM_PARSEAR_ , &s_len) == SUCCESS) ( /* työskentelee merkkijonon kanssa */ ) else ( php_error(E_WARNING, "%s() ottaa argumenttina joko kolme pitkää arvoa tai merkkijonon", get_active_function_name(TSRMLS_C)); return; )

Käyttämällä käsiteltyjä menetelmiä funktion parametrien saamiseksi sinun pitäisi ymmärtää tämä prosessi hyvin. Katso lisää esimerkkejä PHP:n mukana tulevien laajennusten lähdekoodista – ne kuvaavat jokaista esitettyä tapausta.

Tervehdys, rakas ystävä!

"Mitä menestys elämässä merkitsee sinulle???"

Pyydän sinua ajattelemaan, pysähtymään hetkeksi.

Okei, anna minun nyt auttaa sinua. Kirjoitin edellisessä uutiskirjeessä siitä, mikä ei ole menestystä. Hylätään nämä käsitteet heti.

Menestys on henkistä harmoniaa.
Menestys on onnellisuutta.
Menestys on itsensä ymmärtämistä ja potentiaalisi vapauttamista.
Menestys on täyttymystä elämässä.
Menestys on sitä, mitä rakastat, mikä valaisee sinua ja voit tehdä sitä ympäri vuorokauden.
Menestys on itsensä antamista muiden puolesta ja tämän maailman tekemistä paremmaksi paikaksi ja toisista onnellisempia.
.

Menestys liittyy erottamattomasti mielentilaan. Sielumme tuli tähän maailmaan saamaan mielihyvää ja toteuttamaan itsensä, ja meidän (mielemme, kehomme, tietoisuutemme) on tuettava sitä tässä. Kun sielumme luo ja toteuttaa itsensä, tunnemme olomme onnelliseksi. Kun tunnemme ja näemme, että sielumme luominen ja toimintamme tuo suurta hyötyä muille ihmisille, tunnemme autuutta. Tätä kutsutaan menestykseksi. Menestys on elämän täyteys.

Kaikki sielun kykyjen toteuttaminen on mahdollista vain muiden ihmisten ansiosta. Sielu ei luo itseään varten. Hän luo muille - auttaakseen heitä ja tekemään toisten elämästä tyytyväisiä ja välittääkseen heille osan onnesta. Onnellinen ihminen välittää osan onnellisuudestaan ​​muille, onneton henkilö välittää onnettomuutensa muille. Vältä onnettomia ihmisiä!

Jos yhtäkkiä kaikki ihmiset katoavat hetkessä, itsensä toteuttamisesta tulee mahdotonta - mitä järkeä on kirjoittaa kirjoja, koska kukaan ei lue niitä, mitä järkeä on luoda uusia vaatemalleja, koska kukaan ei käytä niitä, mitä onko järkeä rakentaa uusia taloja, joissa kukaan ei asu?

Ilmeisesti tässä ei ole mitään järkeä.

Tämä osoittaa menestyksen kaksinainen luonne: sielu luo ja toteuttaa itsensä ja auttaa myös muita ihmisiä tulemaan onnellisemmiksi.
Tarkin menestyksen määritelmä, jonka voin antaa, kuulostaisi tältä: menestys on todellisten kykyjesi toteutumista, jotka tekevät maailmasta paremman, täydellisemmän ja ihmiset onnellisempia.

Haluan sinun ymmärtävän sen syvästi ihmiset, jotka elävät vain itselleen ja keräävät varallisuutta vain itselleen, ovat onnettomia. He keräävät näitä rikkauksia täyttääkseen hengellisen tyhjyyden, joka on muodostunut merkityksettömän elämän seurauksena. Mutta tämä tyhjyys voidaan täyttää vain rakkaudella, joka tuo arvoa muille ihmisille. Sielu on onnellinen, kun se antaa itsensä ilman ylimääräistä tehdäkseen tästä maailmasta paremman paikan. Ja mitä järkeä on kaikella rikkaudella, jonka ihminen on kerännyt kuollessaan, koska me emme ole kestäviä. Sielu tulee luomaan arvoa, toteuttamaan itsensä ja palaa sitten "kotiin". Jos hän ei luo sitä arvoa ja tekee jotain muuta, hänestä tulee paha mieli. Hän kokee tulleensa tähän maailmaan eikä tee mitä haluaa. Ja syy tähän on mielemme - sen sokaisee "menestys" tämän sanan yleisessä ymmärtämisessä. Hän tavoittelee illusoriaa, ja kun hän saavuttaa sen, jos hän ylipäänsä saavuttaa sen, hän ymmärtää saavuttamansa merkityksettömyyden.

Mitä on menestys yleisessä ymmärryksessä?
- varallisuus (raha, aineelliset asiat)
- maine, valta, suosio
- Tila

Mutta katso, se kaikki tulee egosta. Ihminen haluaa tuntea merkityksensä, mutta hän ei ymmärrä, että rikkaus, maine, asema ovat illuusio. Ne ovat kuin merivettä, jota juotpa kuinka paljon tahansa, et koskaan tyydytä janoasi. Siksi ihmiset viettävät koko elämänsä jahtaamalla heitä. He ajattelevat, että ansaitsen niin paljon rahaa ja olen onnellinen, saan tulotason 100 000 dollaria vuodessa ja sitten olen onnellinen, kun menen lavalle ja laulan, olen onnellinen, minä Menen naimisiin, saan lapsia... Voit tarkistaa tämän, mutta voin sanoa 100% varmuudella, että et tule olemaan onnellinen. Lisäksi onnellisuustasosi tulee vieläkin alhaisemmaksi. Olet siirtymässä pois kutsumuksestasi, ja tajuatessasi tämän sielusta tulee entistä onnettomampi. Mitä enemmän varallisuutta, mainetta, asemaa saat, sitä enemmän mieli ottaa elämän hallintaansa ja sitä kauemmaksi sielun rooli siirtyy pois. Mutta todellinen onni tulee sielusta!!!

Menestys on harmoniaa sielun ja mielen välillä. Mielen rooli on auta sielu itsensä toteuttamiseen. Meillä on prioriteetit väärin. Asetamme lyhytikäisen ruumiin ja aineelliset asiat etusijalle ja laitamme kuolemattoman sielun ja ehtymättömän vaurauden viimeiselle sijalle. Raamattu sanoo: "Pankaa omaisuutenne taivaaseen, älkää maan päälle." Kehomme on sielun kulkuneuvo. Sielu on yhteydessä korkeampaan mieleen ja vain se pystyy ymmärtämään, mitä tälle maailmalle tarvitaan. Universumi suosii ihmisiä, jotka kulkevat omalla tavallaan. Oma polkusi on vähiten energiaa kuluttava, ja maailmassamme kaikki virtaa vähiten vastuksen polkua pitkin. Sanon aina, että menestys on normaali tapahtumien kulku. Epäonnistuminen on poikkeama normista. Jos et nyt menesty niin kuin haluat, et tee sitä, mitä sinun oli tarkoitus tehdä. Sielu ja mieli ovat ristiriidassa. Ja mitä suurempi tämä ristiriita, sitä onnettomampi ihminen on.

Mutta älä luule, että sanon, ettei ihminen tarvitse aineellisia asioita. Se on erittäin tarpeellista. Ja tässä syy: kun ihmisellä ei ole rahaa, hänet pakotetaan menemään töihin ja tekemään jotain "tyhmää". Ihminen käyttää 10 tuntia päivässä ansaitakseen rahaa, mutta näin tekemällä hän ei ymmärrä itseään. Pomo on henkilö, joka toteuttaa itsensä sinun kustannuksellasi. (Sanon mitä tapahtuu useimmissa tapauksissa. Useimmat ihmiset vihaavat työtään, mutta he työskentelevät, koska he tarvitsevat rahaa selviytyäkseen).

Aineelliset asiat luovat lohtua sielulle. Aineelliset asiat järjestävät tämän maailman sielulle. Sielulle on paljon miellyttävämpää luoda mestariteoksia paikoissa, jotka inspiroivat sitä. On paljon parempi maalata kuva talossa meren rannalla kuin "roskakuoppaan". Sielu tarvitsee rauhaa ja mukavuutta luodakseen. Mutta mitä rauhaa voi olla, jos perheessä ei ole tarpeeksi rahaa ja joka päivä aviomies ja vaimo riitelevät tästä.

Sielu tarvitsee aikaa ilmaistakseen itseään. Vasta jonkin ajan kuluttua sielun luoma arvo voidaan myydä ja myydä satoja tai jopa tuhansia kertoja enemmän kuin mitä ihminen saa työssään. Mutta tällaisen arvon luominen vie aikaa. Henkilökohtaisesti minulla kesti 5 kuukautta saavuttaa vähäiset tulot. 8 kuukauden kuluttua sivustoni alkoi tuottaa tuloja, joilla köyhä perhe voisi jo elää. Ja vasta 17 kuukauden kuluttua sivustoni alkoi tuottaa tuloja, jotka jo korvaavat tulot erittäin hyvin palkatusta työstä.

Työpaikan korvaamiseen kului 17 kuukautta. Mutta nyt olen vapaa! Teen sitä mitä rakastan ja tämä on vasta alkua. Unelmillani ei ole rajoja, mikä tarkoittaa, että minulla ei ole rajoja. Kun ajat omaa yritystäsi, tulojasi rajoittaa vain mielikuvituksesi eikä mikään muu. Kuka tienaa 1 000 000 dollaria vuodessa töissä? Kyllä, ehkä niitä on muutama. Mutta kun hoidat omia asioitasi, tämäkään ei ole kappeli.
Aineelliset asiat ovat tärkeitä, mutta vain elämän tarpeiden tyydyttämiseksi.

Olen rehellinen: ilman tuloja on vaikeampaa luoda ja luoda mestariteoksia. Mieli sanoo jatkuvasti: "Se, mitä teet, on hyvää, mutta mitä varten me elämme?" Ja tämä kysymys häiritsee jatkuvasti ja suuresti luovuutta. Hän vie onnemme pois. Jotta tämä dialogi voidaan sammuttaa, suosikkitoimintasi on tuotava rahaa. Tietenkin mieli alkaa sitten kysyä muita kysymyksiä, mutta mitä enemmän suosikkiyrityksesi tuo rahaa, sitä vähemmän kivuliaita ja häiritseviä näistä kysymyksistä tulee.

Usein ihmiset työskentelevät töissä, tienaavat rahaa, mutta heillä on myös harrastuksia. Mikä on harrastus?
Harrastus on sielun toimintaa, joka ei tuota tuloja. Mutta miksi ei muuttaisi harrastusta työksi? Onnellisimmat ihmiset ovat ne, joiden harrastus on työ.. He tekevät lakkaamatta mitä rakastavat.
Kaiken mistä puhun, työstä, rahasta, haluan välittää sinulle kaksi tärkeää ajatusta: 1) Sielun ja mielen on oltava sopusoinnussa
2) Aineeton tulee aina olla ensin

Keskitytään vain aineettomaan! Aineelliset asiat tulevat sen seurauksena. Tässä ovat oikeat elämän prioriteetit:
onnellisuus -> terveys -> rikkaus Ja monet ihmiset elävät järjestelmän mukaan
rikkaus->terveys->onnellisuus
Ja mikä pahinta, on ihmisiä, jotka elävät järjestelmän mukaan
rikkaus->rikkaus->rikkaus

Ei ihme, että he eivät ole onnellisia. Näillä ihmisillä on miljoonia, mutta heillä ei ole ystäviä, heillä on ongelmia perheessään. Heillä on ongelmia ihmissuhteissa. Koska he ajattelevat, että kaikki ihmiset, jotka ympäröivät heitä, ovat heidän kanssaan vain rahojensa vuoksi, eikä sen enempää. En tiedä sinusta, mutta en haluaisi sellaista onnea. Kun elämän prioriteetit on asetettu oikein, seurauksena on vaurautta. Häneen on turha keskittyä. Korkea onnellisuus ja terveys johtavat väistämättä korkeisiin tulotasoihin.

Aineelliset asiat ja rikkautemme voivat toimia vain lisänä onnellisuudellemme. Ne eivät voi toimia perustana. Olemme jo keskustelleet edellä siitä, mikä on perusta.

Tie menestykseen


Kun ihminen saavuttaa riittävän itsenäisyyden, hän on pitkälti määritellyt ympäristönsä muodostumisaikana. Joissakin tapauksissa tämä erikoistuu niin paljon ja kaventaa mahdollisuuksien kirjoa, että se ei anna alemmalle tasolle muodostuneen henkilön löytää itseään paitsi korkeimmalle, myös jopa toiselle henkilökohtaisten kykyjen tasolle (joista perinteisesti puhuttiin edellä). Tietysti on mahdollista, että yksilöön vaikutetaan niin, että hän on motivoitunut muuttumaan aika paljon, mutta tärkeimmät persoonallisuuden muodostumisen kriittisen kehityksen jaksot ovat jo takana ja tällaiset muutokset vaativat. mittaamattoman suurempia ponnisteluja, ikään kuin yrittäisimme opettaa susien kasvattamia pentuja puhumaan.

Kannattaa miettiä tarkkaan, oletko valmis ja kykenevä polulle, joka voi olla sinulle täysin epätavallinen, niin paljon, että voit puhua edellisen persoonallisuuden kuolemasta (ks. Ego) uuden, hankalan ulkonäön vuoksi. Saatavilla olevien merkkien perusteella voidaan sanoa, että sosiaalisten kommunikaatiotaitojen tunnistajien kehittymisen ja erikoistumisen kriittinen vaihe tulee 20-30 vuoden iässä (ja tämän kannalta erittäin tärkeillä komponenteilla on kehitysjaksot 15-20 vuotta) ja yritys muuttaa itseään dramaattisesti myöhemmin sosiaalisessa roolissa johtaa todennäköisesti epäonnistumiseen.

Mitä tulee "häviäjiin" yleensä - ne, jotka yrittävät, mutta epäonnistuvat, niin sosiaalisen vuorovaikutuksen mallissa "epäonnistuminen" (eli epäjohdonmukaisuus halutun ja vastaanotetun välillä) on ylivoimaista estettä huomioimatta taitojen puute riittävän vuorovaikutuksen luominen. Taidot muodostuvat taipumusten ja kehitettyjen erikoistuneiden tunnistajien pohjalta kriittisinä aikoina ja elämänkokemuksen mukaan sovitetaan kaikissa käytännön yrityksissä toteuttaa luovasti löydettyä käyttäytymisvaihtoehtoa.