Jump to content
php.lv forumi

Propel wrapper


Recommended Posts

Sveiki,

 

Pirms kāda laika aizsāku projektu, tas izgāja vairākas attīstības fāzes un pašreiz ir apstājies pie šī: https://github.com/sitilge/propeller- grafisks datubāzes rīks.

 
Atšķirībā no iepriekšējā, tam novērstas nepilnības un veikti sekojoši uzlabojumi:

  1. Testēts, optimizēts kods, zems CC
  2. Darīts viss, lai nebūtu S.T.U.P.I.D
  3. MVC (nē, tiešām)
  4. Balstīts uz Propel
  5. UI uzlabojumi (vairāk ajax, u.c.)

Gribētu dzirdēt Jūsu viedokli.

Link to comment
Share on other sites

Jā, demo bija, noņēmu. Tagad vislabāk izmēģināt uz kādas no savām DB :)

 

Why?

  • Framework agnostic (dependencies only)
  • Lightweight (backend ~1.2k NCLOC)
  • 100% loosely coupled, non-static
  • Tested (as much as I could)
  • Based on Propel Behavior concept
  • Other Propel goodies (generator, migrations, etc.)
  • Sass + Bootstrap + Gulp included
Link to comment
Share on other sites

Rīka lietotājus īsti neinteresē tas, kā viņš uzbūvēts, vai ir testi. Viņiem svarīgi, lai viņš strādā un ir ērts, ar nepieciešamām fīčām. 

Ja gribas palielīties par tehnisko pusi, ok, bet ja gribas nopārdot lietošanai, tad tomēr būs vajadzīgs nedaudz marketings :)

 

P.S. Pirmo reizi vispār dzirdu tādu "Propel". :)

Link to comment
Share on other sites

@briedis imho, ir svarīgi, kāds "lietotājs" ir konkrētais cilvēks. Ja tas ir klients, tad viņam, tikai iespējams, neinteresēs, kods, bet gan tikai vizuālais. No otras puses, ja ir runa par programmētāju kā lietotāju, tad gan prasīs iepriekš minētos punktus kā testi, design practices, scalability, u.c. :)

Link to comment
Share on other sites

@briedis imho, ir svarīgi, kāds "lietotājs" ir konkrētais cilvēks. Ja tas ir klients, tad viņam, tikai iespējams, neinteresēs, kods, bet gan tikai vizuālais. No otras puses, ja ir runa par programmētāju kā lietotāju, tad gan prasīs iepriekš minētos punktus kā testi, design practices, scalability, u.c. :)

 

Es joprojām nesaprotu. Tu (vai jebkurš cits programmētājs) esi kādreiz interesējies, kādi ir "design practices" tam pašam phpmayadmin, cik viņam ir testu? Un kurā brīdī db pārlūkam lomu spēlē scalability? 

 

Es kādreiz lietoju phpmyadmin, tad pārslēdzos uz adminer, tieši tādēļ, ka viņš ir 1 fails, tātad elementāra uzstādīšana. Tagad vispār lietoju tikai iebūvēto phpstorma db pārlūku, jo tam vispār ir 0 konfigurēšana nepieciešama, jo pietiek tikai ievadīt db konekcijas datus.

 

Manuprāt, programmētāji ir pietiekami aizņemti ar saviem projektiem, lai tik lielu uzmanību vēl veltītu tādai lietai. Paņem ērtāko un vienkāršāk uzstādāmo un miers.

Link to comment
Share on other sites

 

Es joprojām nesaprotu. Tu (vai jebkurš cits programmētājs) esi kādreiz interesējies, kādi ir "design practices" tam pašam phpmayadmin, cik viņam ir testu? Un kurā brīdī db pārlūkam lomu spēlē scalability?

 

Nē, bet ja kāds vēlētos izmantot šo projektu, papildināt to, pielāgot savām vajadzībām, tad testi nodrošinās, ka viņš nav neko saplēsis (tik, cik paredzēts test cases). Nesaprotu. Katru projektu var izaudzēt (liec priekšā load balancerus, horizontals stacks), ja kļūdas ielaistas sākumā, pēcāk būs grūtāk. Tad sanāk, ka saki, ka design practices ir domāts kaķiem, vai tā?

 

Phpmyadmin lietoju pašā sākumā. Imho, rīki kā MysqlWorkbench, u.c. sniedz daudz vairāk iespēju. Bet tad Tu saki, ka 1 fails = daudz vienkāršāk? Es pa lielam šo arī varētu salikt vienā .phar failā un gatavs. Un ja man vajadzētu ievadīt tikai konekcijas datus... Propel dod vairāk - vēlreiz atkārtojos: skripti, kas ģenerē visu Tavu shēmas informāciju, kas veic migrāciju, kas atbalsta 12+ dažādas DBMS, kas ļauj darboties OOP stilā, type hintings (kaut arī tas nav, kāpēc izvēlējos Propel), visas PDO iespējas, u.c. Ja Tev vajag vienkāršu select, es nekad neizmantotu ORM. Tas ir overkills, pietiks ar PDO, ej uz raw mysqli_* ja ir kādas īpašas vēlmes.

 

Par uzstādīšanu: visas tur minētās rindas ir, faktiski, apraksta, kā uzstādīt Propel. Nekādas maģijas. Vari mēģināt salīdzināt konfigurāciju Doctrine un Propel, tad redzēs', kas būs vieglākais :)

Link to comment
Share on other sites

Redzi, tu raksti, ka šis ir "grafisks datubāzes rīks". tātad idejisks ekvivalents PhpMyAdmin/Adminer utml rīkiem (correct me if I'm wrong, bet tas ir vienīgais, ko no apraksta var saprast).

 

 

 

1. Framework agnostic (dependencies only)
2. Lightweight (backend ~1.2k NCLOC)
3. 100% loosely coupled, non-static
4. Tested (as much as I could)
5. Based on Propel Behavior concept
6. Other Propel goodies (generator, migrations, etc.)
7. Sass + Bootstrap + Gulp included

 

1. Nobody cares because this is a standalone tool.

2. Tu skaiti tikai SAVA koda līnijas, bet aizmirsti par dependencies (pats Propel).

3. See #1.

4. See #1. Galvenais, ka strādā pareizi, bet konkrēti testus gandrīz neviens neies laist šādam rīkam.

5. See #1.

6. Fine.

7. ??? Loģiski, šis taču ir "grafisks" rīks.

>Nesaprotu. Katru projektu var izaudzēt (liec priekšā load balancerus, horizontals stacks), ja kļūdas ielaistas sākumā, pēcāk būs grūtāk. Tad sanāk, ka saki, ka design practices ir domāts kaķiem, vai tā?

Tu tagad par šito projektu runā jeb par mūsu darba projektiem? Jo tās ir 2 nesaistītas lietas.

 

 

1. skripti, kas ģenerē visu Tavu shēmas informāciju
2. kas veic migrāciju,
3. kas atbalsta 12+ dažādas DBMS,
4. kas ļauj darboties OOP stilā,
5. type hintings (kaut arī tas nav, kāpēc izvēlējos Propel),
6. visas PDO iespējas,

1. Nafig tas vajadzīgs grafiskam db mgmt tūlim?

2. Ļoti reti nepieciešams, bet labi, pieņemsim, ka kaut kas noderīgs.

3. Ok.
4. GRAFISKS db mgmt tūlis...

5. see #4

6. see #4

Edited by jurchiks
Link to comment
Share on other sites

  1. Ko?
  2. Ja, tad Tu varetu ari palidzet saskaitit, cik rindas ir mana kerneli. Makes no sense...
  3. See #1
  4. See #1

Protams, ka pa konkreto. Kadas atskirigas lietas? Ja Tu doma, ka testi ir kkas nevajadzigs, tad... ok :D

 

  1. Jo tam `tulim` vajag nemt informaciju no kaut kurienes. Un vins izmanto konfiguraciju, ko genere Propel.
  2. Tas ir tavuprat.
  3. 4. 5. Te runa ir par programmesanu, nevis zimesanas nodarbibam. Ja, tam ir vizuala reprezentacija, bet paskaties apaksa :)

 

No offense, bet man drizak skiet, ka ja Tu velies ar ko padalities ar citiem, tad labak to nedari, vismaz šeit. Protams, visiem ir savi darbi, protams, ir citi jauni rīki. Bet mācīties un mēģināt nekad nav par sliktu. :)

Edited by Mārtiņš Eglītis
Link to comment
Share on other sites

Vecīt. Tu taisi rīku, kurš vienkārši ļauj menedžēt datubāzes. Pareizi?

Ja tā, tad nevienu (ar retiem izņēmumiem) neinteresē, kas tam tūlim apakšā, tikai tas, cik labi/ērti tas pilda savu uzdevumu.

Visi tavi "Why" utt ir par backendu/tehniskajām detaļām, bet šis ir frontend tūlis (tādā izpratnē, ka interakcija notiek tikai caur UI).

Edited by jurchiks
Link to comment
Share on other sites

Tev jQuey.js un bootstarp.js ir ielikts repozitorijā. Hmmm...

 

Tu piemini tādus terminus kā "loosely coupled", bet atverot pirmo javascript failu "public/js/src/row/row.js" redzu rindiņu 

var form = $('#form');

Tas nozīmē, ka lapā vienmēr jābūt formai ar id="form".

Loģiskā būtu, ja form meklēt pēc elementa (tas, kurš izrasīja eventu) parent formu

var form = $(ele.target).parents('form')
Link to comment
Share on other sites

Šāds errors

 

Propeller\Models\PersistenceModel::getQuery(): Failed opening required '/var/www/propeller/src/Models/../Config/Database/Config/generated-conf/config.php' (include_path='.:/usr/share/php:/usr/share/pear')

 

propel initi izpildīju

Edited by Kasspars
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...