Małgorzata M.

Małgorzata M. Projekty
Unijne/Konsulting
Personalny/Kadry/Pła
ce/Doradzt...

Temat: Test przekrojowy PHP

Michał Szyndel:
Małgorzato - chciałaś odpowiedzi programistów więc ją masz. Naszym zdaniem test jest bez sensu, bo niczego de facto nie sprawdza.

To Wasze zdanie... moje stanowisko niech pozostanie nieujawnione. Niestety nie o to pytałam.
Zaproponowaliśmy alternatywne rozwiązanie, ciężko poradzić coś na to, że nie spełnia Twoich oczekiwań.

Alternatywne rozwiązania znam. A pytanie dotyczyło testu - liczyłam na odpowiedzi typu: "jeśli już test być musi to: ...".

Gdyby zależało mi na poznaniu alternatywnych form sprawdzania kompetencji, proszę mi uwierzyć, inaczej skonstuowałabym treść swojego postu.

>Test nie spełnia
z kolei naszych ;-)
Nie wątpię. Choć nie o Wasze oczekiwania pytałam.

A... i nie zabraniaj nam się proszę kłócić - uwielbiamy to robić :D
No! jeśli uwielbiacie się kłócić - w porządku!

konto usunięte

Temat: Test przekrojowy PHP

To ja jeszcze dodam że jak tak patrzę na listę z 1 postu to przychodzi mi na myśl zend certyficat enginer , jeśli chcecie kogoś 'naj' może dawajcie do rozwiązania próbne testy z zce :-D
Małgorzata M.

Małgorzata M. Projekty
Unijne/Konsulting
Personalny/Kadry/Pła
ce/Doradzt...

Temat: Test przekrojowy PHP

Paweł Makowski:
To ja jeszcze dodam że jak tak patrzę na listę z 1 postu to przychodzi mi na myśl zend certyficat enginer , jeśli chcecie kogoś 'naj' może dawajcie do rozwiązania próbne testy z zce :-D

Panie Pawle, dziękuję za taką wypowiedź... jest dla mnie bardziej użyteczna niż pozostałe niestety... Poza http://codility.com/

konto usunięte

Temat: Test przekrojowy PHP

Michał Szyndel:
Przemysław R.:
Łukasz Cepowski:
Przemysław R.:
to po co ci MVC skoro nie lubisz separacji warstw?
view != template
template separuje, view już nie

(nie doczytałem wątku do końca ale muszę)

Przemek - chyba chcesz, żeby nikt z obecnych NIGDY Cię nie zatrudnił za takie herezje. Naprawdę czytałeś to przed wysłaniem? o.O

co mnie powstrzymuje przed wyświetleniem zmiennej globalnej w widoku takiej np. kohana?, tudzież wykonania metody statycznej z czegośtam
View jest od separacji, system szablonów jest od tworzenia śmiesznych pseudostruktur, etc. Naprawdę nie widzisz różnicy?

doładowanie pliku z jawnym PHP-em za pomocą INCLUDE nie jest separacją :)
Stanisław P.

Stanisław P. Software designer

Temat: Test przekrojowy PHP

Małgorzata Marzec:
Pomyślałam sobie, że podzielę go na takie oto kategorie pytań:
[-cut-]

Teraz jest problem. Napisałaś dużo, ale tak naprawdę bez żadnych informacji.
Łącznie 63 pytania w teście. Jak myślicie? Dobry podział? Czy może coś istotnego pominęłam? Da się z tego wyciągnąć jakieś już w miarę konkretne informacje?
Zależy co konkretnie będzie w tym teście - o co chcesz pytać, jakie będą warunki testu, etc.

Przykład:
2. Programowanie obiektowe

Teraz jakie to pytania?
- Jeśli będzie to pytanie "co to jest dziedziczenie", to może można wyciągnąć konkretne informacje.
- Jeśli będzie to pytanie na poziomie brainbench'a - przykład kodu, 3 pętle w sobie generujące obiekty na różnych poziomach hierarchi, niektóre klonowane, niektóre castowane, itd, a potem pytanie "jaki będzie wynik", to nie - nie można z tego wyciągnąć żadnych sensownych informacji.

Dalej - o co chodzi z "frameworki"? Test przekrojowy, czyli pytać będziesz o wszystkie frameworki jakie istnieją, czy konkretne? Jeśli konkretne, to to podchodzi i pod programowanie obiektowe i bazy danych i systemy szablonów i bezpieczeństwo, ponieważ frameworki zarządzają tymi elementami (w pewnym stopniu oczywiście).

Więc podsumowując:
- idea testu - ok
- sekcje - jakie są każdy widzi - nie są złe - reszta zależy od implementacji
- "Czy może coś istotnego pominęłam? Da się z tego wyciągnąć jakieś już w miarę konkretne informacje?" - nie da się udzielić odpowiedzi. Testy mogą być tak różne, że bez przykładów nie można powiedzieć.

Twoje pytanie było trochę w stylu - jaki test dla prawnika? Mam kategorie "prawo cywilne" "prawo karne" "prawo handlowe". Czy coś pominąłem? Czy da się z tego wyciągnąć informacje?Stanisław Pitucha edytował(a) ten post dnia 14.09.10 o godzinie 15:04
Małgorzata M.

Małgorzata M. Projekty
Unijne/Konsulting
Personalny/Kadry/Pła
ce/Doradzt...

Temat: Test przekrojowy PHP

Stanisław Pitucha:
Twoje pytanie było trochę w stylu - jaki test dla prawnika? Mam kategorie "prawo cywilne" "prawo karne" "prawo handlowe". Czy coś pominąłem? Czy da się z tego wyciągnąć informacje?Stanisław Pitucha edytował(a) ten post dnia 14.09.10 o godzinie 15:04

Wiem, że takie było. owszem, napisałam dużo i b ez żadnych konkretnych informacji. Taka była idea... robię research :)

Bardzo dziękuję za całą Pana wypowiedź.
Łukasz C.

Łukasz C. Senior Technical
Architect

Temat: Test przekrojowy PHP

Przemysław R.:
a wtedy nie mamy MVC tylko MC
a nie MVP czasem :P?

konto usunięte

Temat: Test przekrojowy PHP

Łukasz Cepowski:
Przemysław R.:
a wtedy nie mamy MVC tylko MC
a nie MVP czasem :P?

raczej MC + spagetti code :P

konto usunięte

Temat: Test przekrojowy PHP

Bo ja teraz czegoś nie wiem.
Wrócę z pracy to założę osobny wątek, pokaże o co mi chodzi i mam nadzieję, że "litościwie" wytłumaczycie mi gdzie "błądzę". Bo jak na razie to mi oczy z wrażenia wypadają jak czytam co piszecie.Michał Szyndel edytował(a) ten post dnia 14.09.10 o godzinie 15:27

konto usunięte

Temat: Test przekrojowy PHP

protected static function capture($kohana_view_filename, array $kohana_view_data)
{
// Import the view variables to local namespace
extract($kohana_view_data, EXTR_SKIP);

if (View::$_global_data)
{
// Import the global view variables to local namespace and maintain references
extract(View::$_global_data, EXTR_REFS);
}

// Capture the view output
ob_start();

try
{
// Load the view within the current scope
include $kohana_view_filename;
}
catch (Exception $e)
{
// Delete the output buffer
ob_end_clean();

// Re-throw the exception
throw $e;
}

// Get the captured output and close the buffer
return ob_get_clean();
}


oryginalna funkcja z widoku Kohany 3
to tak apropo separacji we frameworkach
Łukasz C.

Łukasz C. Senior Technical
Architect

Temat: Test przekrojowy PHP

ja i tak nie widze zalet w stosowaniu jeszcze jednego jezyka jakim jest np: skladnia smarty :P

{$dupa} vs. <?= $this->dupa ?>

ch*j ze dluzsze ale nie musi byc interpretowane, a cachowac content mozna w obu przypadkach :P

// edit
no dobra moze jedna TEORETYCZNA zaleta, ze gdyby przyszlo zmienic technologie aplikacji to mozna uzyc starych widokow, oczywiscie najpierw trzeba by napisac parser do nich wiec chyba juz lepiej przepisac te widoki :PŁukasz Cepowski edytował(a) ten post dnia 14.09.10 o godzinie 15:37

konto usunięte

Temat: Test przekrojowy PHP

Ok widzę, że dyskusja nie ma sensu.
Przemek - w ogóle rozumiesz co wkleiłeś?
Rozumiesz, że to jest KLASA WIDOKU, która ładuje pliki widoków. Element frameworka.
IDENTYCZNY kod znajdziesz w Smarty czy gdziekolwiek indziej. Export tablicy zmiennych, załadowanie pliku widoku i przechwycenie bufora tego wszystkiego.

Dokładnie tak samo działa Smarty i każdy inny system.

Natomiast w pliku widoku nikt nie odwołuje się do klas spoza widoku tylko do wyeksportowanych (celowo) zmiennych globalnych. I robi się to właśnie po to, żeby nikogo nie korciło grzebanie poza tym co powinien (np. w modelu).

konto usunięte

Temat: Test przekrojowy PHP


/**
* creates a template object
*
* @param string $template the resource handle of the template file
* @param object $parent next higher level of Smarty variables
* @param mixed $cache_id cache id to be used with this template
* @param mixed $compile_id compile id to be used with this template
* @returns object template object
*/
public function createTemplate($template, $cache_id = null, $compile_id = null, $parent = null)
{
if (is_object($cache_id) || is_array($cache_id)) {
$parent = $cache_id;
$cache_id = null;
}
if (is_array($parent)) {
$data = $parent;
$parent = null;
} else {
$data = null;
}
if (!is_object($template)) {
// we got a template resource
// already in template cache?
$_templateId = crc32($template . $cache_id . $compile_id);
if (isset($this->template_objects[$_templateId]) && $this->caching) {
// return cached template object
$tpl = $this->template_objects[$_templateId];
} else {
// create new template object
$tpl = new $this->template_class($template, $this, $parent, $cache_id, $compile_id);
}
} else {
// just return a copy of template class
$tpl = $template;
}
// fill data if present
if (is_array($data)) {
// set up variable values
foreach ($data as $_key => $_val) {
$tpl->tpl_vars[$_key] = new Smarty_variable($_val);
}
}
return $tpl;
}

konto usunięte

Temat: Test przekrojowy PHP

Michał Szyndel:
Ok widzę, że dyskusja nie ma sensu.
Przemek - w ogóle rozumiesz co wkleiłeś?
Rozumiesz, że to jest KLASA WIDOKU, która ładuje pliki widoków. Element frameworka.

ładowanie != include

cały kod PHP obecny w takim pliku będzie wykonany - popraw mnie jeżeli się mylę

jak bym się uparł to mógł bym sobie includować inny framework i go odpalić, tyle że po co :)
IDENTYCZNY kod znajdziesz w Smarty czy gdziekolwiek indziej. Export tablicy zmiennych, załadowanie pliku widoku i przechwycenie bufora tego wszystkiego.

Dokładnie tak samo działa Smarty i każdy inny system.

are you shure?
to po co parsery w OTP lub PHPTal i składnia gdzie nie ma grama PHP?

samrty to raczej kiepski system szablonów, nie dość że krowa to jeszcze karmi nas jakimś PHP-owym pseudokodem

Natomiast w pliku widoku nikt nie odwołuje się do klas spoza widoku tylko do wyeksportowanych (celowo) zmiennych globalnych. I robi się to właśnie po to, żeby nikogo nie korciło grzebanie poza tym co powinien (np. w modelu).

to co piszesz to dobry obyczaj a nie ograniczenie
jeżeli mam zmienne globalne, definicje, klasy, metody statyczne to sobie mogę tego użyć w widoku jak mi się tylko podoba, przecież i tak się wykonaPrzemysław R. edytował(a) ten post dnia 14.09.10 o godzinie 15:54

konto usunięte

Temat: Test przekrojowy PHP

nie, dobra, eot. poddaję się bo to nie ma sensu.
Piszesz jakieś ogólniki, bez znaczenia i odniesienia do rzeczywistych problemów i rozwiązań.

Gdybyś umiał podać chociaż jeden _rzeczowy_ argument za szablonami, to ok.
PHPTal, OTP nie znam, nie chce mi się grzebać. Do Smarty się umiem odnieść, ale one są be, więc nie ma po co. Pewnie jakbym zajrzał do innych (systemów templatów) to znalazłbym to samo.Michał Szyndel edytował(a) ten post dnia 14.09.10 o godzinie 16:06

konto usunięte

Temat: Test przekrojowy PHP

Przemysław R.:
Michał Szyndel:
Ok widzę, że dyskusja nie ma sensu.
Przemek - w ogóle rozumiesz co wkleiłeś?
Rozumiesz, że to jest KLASA WIDOKU, która ładuje pliki widoków. Element frameworka.

ładowanie != include

Tylko jedno: oświeć mnie jakie są inne metody ładowania w php poza include i require? Tak z ciekawości?

konto usunięte

Temat: Test przekrojowy PHP

Michał Szyndel:
nie, dobra, eot. poddaję się bo to nie ma sensu.
Piszesz jakieś ogólniki, bez znaczenia i odniesienia do rzeczywistych problemów i rozwiązań.

Gdybyś umiał podać chociaż jeden _rzeczowy_ argument za szablonami, to ok.

bezpieczeństwo że warstwa prezentacji nie sięga sobie bezkarnie do warstwy aplikacji, prezentacja otrzymuje tylko tyle danych ile potrzebuje
PHPTal, OTP nie znam, nie chce mi się grzebać. Do Smarty się umiem odnieść, ale one są be, więc nie ma po co. Pewnie jakbym zajrzał do innych (systemów templatów) to znalazłbym to samo.Michał Szyndel edytował(a) ten post dnia 14.09.10 o godzinie 16:06

np. z PHPTal

<tal:block tal:condition="parms/bMetrics">
<p>
<tal:block
tal:comment="lista raportów dla danej sekcji"
tal:define="block blocks/Metrics"
metal:use-macro="_kontrolki.xhtml/short_toogle_block"
/>
</p>
</tal:block>


dodanie kodu z innego szablonu z przekazaniem tablicy. Tablica którą przekazujemy jest widoczna tylko w tej kontrolce, TAL tworzy po wykonaniu tej operacji plik PHP z normalnym kodem który jest ładowany zamiast przerabiania całości na nowo

jakie ma to zalety? mogę sobie zrobić szereg kontrolek wspólnych dla całego serwisu, jak mi się coś nie spodoba to zmieniam taka kontrolkę i wszędzie mam dokładnie tak samo

konto usunięte

Temat: Test przekrojowy PHP

Michał Szyndel:
Przemysław R.:
Michał Szyndel:
Ok widzę, że dyskusja nie ma sensu.
Przemek - w ogóle rozumiesz co wkleiłeś?
Rozumiesz, że to jest KLASA WIDOKU, która ładuje pliki widoków. Element frameworka.

ładowanie != include

Tylko jedno: oświeć mnie jakie są inne metody ładowania w php poza include i require? Tak z ciekawości?

file_get_contents np
nigdzie nie jest powiedziane że musimy przerabiać Template za pomocą parsera PHP, fakt wymaga to zabawy ze stosowaniem parserów, ale da się

konto usunięte

Temat: Test przekrojowy PHP

Michał Szyndel:
Przemysław R.:
Łukasz Cepowski:
Przemysław R.:
to po co ci MVC skoro nie lubisz separacji warstw?
view != template
template separuje, view już nie

(nie doczytałem wątku do końca ale muszę)

Przemek - chyba chcesz, żeby nikt z obecnych NIGDY Cię nie zatrudnił za takie herezje. Naprawdę czytałeś to przed wysłaniem? o.O

View jest od separacji, system szablonów jest od tworzenia śmiesznych pseudostruktur, etc. Naprawdę nie widzisz różnicy?

nadal podtrzymujesz to co tu pisałeś?
Krzysztof N.

Krzysztof N. CEO. Aplikacje
internetowe i
mobilne. Symfony,
Zend.

Temat: Test przekrojowy PHP

Michał Szyndel:
A... i nie zabraniaj nam się proszę kłócić - uwielbiamy to robić :D
True, true.
Uśmiechnąłem się, gdy to przeczytałem. To słuszne stwierdzenie :D

Następna dyskusja:

Narzędzia do PHP




Wyślij zaproszenie do