[PHP] Build Script?

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Harrie_
  • Registratie: Juli 2003
  • Niet online

Harrie_

⠀                  🔴 🔴 🔴 🔴 🔴

Topicstarter
Een aantal werkgevers terug werkte ik ergens waar m.b.v. een build script projecten in .NET werden gecompiled. Tevens werden allerlei bestanden die voor testdoeleinden gebruikt werden buiten beschouwing gelaten zodat er aan het einde van de rit een clean package verscheen die we 1 op 1 op een webserver konden deployen.

Ik ben nu eigenlijk op zoek naar een soortgelijke oplossing voor een PHP project waar ik aan werk. Uitgangspunt daarbij is dat alle comments uit files gehaald worden en dat bepaalde (vooraf aan te wijzen) bestanden geskipt worden. Obfuscation is niet zozeer een must. Output zou dan in feite een folder moeten zijn die ik zo op een webserver kan neer zetten.

Uiteraard heb ik al flink gezocht, maar ik kom vooral op allerlei native PHP oplossingen uit. Ik zou dan in feite een applicatie moeten schrijven in PHP om mijn andere applicatie te 'builden'.

Zijn er out-of-the-box oplossingen voor hetgeen wat ik zoek of wordt het toch zelf iets schrijven?

Hoeder van het Noord-Meierijse dialect

Beste antwoord (via Harrie_ op 02-11-2020 17:34)


  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Harrie_ schreef op maandag 2 november 2020 @ 16:31:
[...]


[...]


Is het heel erg als ik verder niet wil uitweiden over de exacte beweegreden?


[...]


Dat gaat nu in dit specifieke geval niet, vandaar dat ik hiermee 'worstel'.
Het scenario dat je lijkt te schilderen, namelijk dat je je PHP-code op de server van een klant wil deponeren, maar dan liefst wel obfuscated, minified of anderszins bewerkt, is volgens mij niet zo vreemd als zovelen hier lijken te beweren.

Of de situatie wenselijk en de oplossing nuttig is, is een tweede, maar daar gaat dit topic helemaal niet over, en is ook echt geen reden dat het gesloten kan worden.

Wat je wil, kun je gewoon scripten. Zoek een obfuscator/minifier die je aanstaat, vogel uit hoe je hem een map PHP-bestanden via de commandline kunt laten behandelen, doe hetzelfde voor je CSS en JS, en plak deze calls in één script aan elkaar.

Dan laat je de buildserver dat script aftrappen, en je bent klaar.

[ Voor 3% gewijzigd door CodeCaster op 02-11-2020 16:46 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...

Alle reacties


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Harrie_ schreef op maandag 2 november 2020 @ 14:20:

Uiteraard heb ik al flink gezocht, maar ik kom vooral op allerlei native PHP oplossingen uit.
Zoals...?
Harrie_ schreef op maandag 2 november 2020 @ 14:20:
Uitgangspunt daarbij is dat alle comments uit files gehaald worden
Want :?

[ Voor 30% gewijzigd door RobIII op 02-11-2020 14:29 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Harrie_
  • Registratie: Juli 2003
  • Niet online

Harrie_

⠀                  🔴 🔴 🔴 🔴 🔴

Topicstarter
Sorry Rob O-)

Ik kom op zaken uit zoals de antwoorden genoemd in deze en deze post op SO. Hoe langer ik er over nadenk; eigenlijk zoek ik dus gewoon een minifier die alle PHP, JS en CSS meeneemt. De optie om bepaalde bestanden te skippen is fijn, maar daar zou ik zelf nog wel eens scriptje aan kunnen wagen.

Hoeder van het Noord-Meierijse dialect


Acties:
  • +1 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 14:01
Maar waarom zou je dat willen? Voor performance maakt het niet uit. Met OPCache wordt je PHP code al een soort van compileerd. Comments kunnen daarbij gestript worden, maar dat zal qua performance niet echt veel uitmaken.

Wil je de code verbergen? Of gewoon makkelijk kunnen deployen?

Als je gewoon wil deployen, kijk iets als https://deployer.org/ waarbij je verschillende releases kan maken
Als je 1 executable wil, kan je kijken om een .phar te maken, bijv: https://github.com/box-project/box
Als je echt de code wil beveiligen, iets als IonCube, maar dan heb je extensies nodig dus niet echt relaxt.

PHP hoeft niet 'gebuild' te worden. Als je PHP versie hetzelfde is zal het 'gewoon' werken normaal gesproken.

[ Voor 8% gewijzigd door Barryvdh op 02-11-2020 15:01 ]


Acties:
  • 0 Henk 'm!

  • Harrie_
  • Registratie: Juli 2003
  • Niet online

Harrie_

⠀                  🔴 🔴 🔴 🔴 🔴

Topicstarter
@Barryvdh Het heeft verder niets met performance te maken maar meer met het feit dat we mensen die toegang hebben tot de webserver geen inzage willen bieden in de comments.

deployer(.org) heb ik even bekeken maar ik zie in de documentatie niets terug m.b.t. wat deployer met de comments doet...

Hoeder van het Noord-Meierijse dialect


Acties:
  • 0 Henk 'm!

  • scosec
  • Registratie: Februari 2016
  • Laatst online: 06:39
Harrie_ schreef op maandag 2 november 2020 @ 15:24:
@Barryvdh Het heeft verder niets met performance te maken maar meer met het feit dat we mensen die toegang hebben tot de webserver geen inzage willen bieden in de comments.

deployer(.org) heb ik even bekeken maar ik zie in de documentatie niets terug m.b.t. wat deployer met de comments doet...
Met welke gedachte mogen mensen met FTP toegang geen inzage hebben op de comments maar wel op de files?

Beetje programmeer leest daar i.m.o. toch wel doorheen?

Acties:
  • 0 Henk 'm!

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 02-06 12:29
Barryvdh schreef op maandag 2 november 2020 @ 14:58:
Maar waarom zou je dat willen? Voor performance maakt het niet uit. Met OPCache wordt je PHP code al een soort van compileerd. Comments kunnen daarbij gestript worden, maar dat zal qua performance niet echt veel uitmaken.
En in de meeste gevallen gaan frameworks die op dit moment nog steeds de niet PHP 8 versie van annotations gebruiken stuk. Tenzij je in het build process de annotations naar php native stap uitvoerd.

En dan nog, dit hele verhaal ruikt naar iets om de verkeerde redenen te willen doen. Als je niet wilt dat iemand een bepaalde comment leest, moet de OP zich afvragen waarom hij of zijn collega dat comment uberhaupt in de code had gezet ;)

Driving a cadillac in a fool's parade.


Acties:
  • 0 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 14:01
Harrie_ schreef op maandag 2 november 2020 @ 15:24:
@Barryvdh Het heeft verder niets met performance te maken maar meer met het feit dat we mensen die toegang hebben tot de webserver geen inzage willen bieden in de comments.

deployer(.org) heb ik even bekeken maar ik zie in de documentatie niets terug m.b.t. wat deployer met de comments doet...
Deployer doet dat niet, maar zoals gezegd is dat om het in een mapje gewoon klaar te zetten en wat uit te voeren.

Als je echt de comments wil strippen alleen, kan je de scripts van StackOverflow die RobIII aangaf proberen, of zelf een parser schrijven, bijv met https://github.com/nikic/PHP-Parser

Acties:
  • 0 Henk 'm!

  • Tom
  • Registratie: Juni 1999
  • Niet online

Tom

Ik snap de link met de taal niet. Buildscripts kun je in principe in elke taal maken en het type bestand(en) dat je gaat processen staat er ook los van. Kies iets waar je je lekker bij voelt. Als je het wilt linken aan een commit zou je even bij je repo-provider moeten kijken welke talen ondersteund worden. Over dit onderwerp is ontzettend veel te vinden en voor een beetje ervaren ontwikkelaar moet het geen hoge wiskunde zijn, het is simpelweg een scriptje dat 'iets' voor je doet, en de inhoud bepaal je zelf naar gelang je wensen :)

Het weghalen van comments in PHP vind ik ook overbodig. Bij clientside talen is er wat voor te zeggen, dat bespaard je (iets) aan dataverkeer. Serverside 'doet' het niets, ook niet qua performance. Als anderen het niet mogen inzien zou ik de code in z'n geheel afschermen.

Acties:
  • 0 Henk 'm!

  • Harrie_
  • Registratie: Juli 2003
  • Niet online

Harrie_

⠀                  🔴 🔴 🔴 🔴 🔴

Topicstarter
scosec schreef op maandag 2 november 2020 @ 15:38:
Met welke gedachte mogen mensen geen inzage hebben op de comments maar wel op de files?
kwaakvaak_v2 schreef op maandag 2 november 2020 @ 15:51:
dit hele verhaal ruikt naar iets om de verkeerde redenen te willen doen.
Is het heel erg als ik verder niet wil uitweiden over de exacte beweegreden?
Tom schreef op maandag 2 november 2020 @ 16:28:
Als anderen het niet mogen inzien zou ik de code in z'n geheel afschermen.
Dat gaat nu in dit specifieke geval niet, vandaar dat ik hiermee 'worstel'.

Hoeder van het Noord-Meierijse dialect


Acties:
  • +3 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 14:01
Harrie_ schreef op maandag 2 november 2020 @ 16:31:

Is het heel erg als ik verder niet wil uitweiden over de exacte beweegreden?
Yes

Acties:
  • 0 Henk 'm!

  • Harrie_
  • Registratie: Juli 2003
  • Niet online

Harrie_

⠀                  🔴 🔴 🔴 🔴 🔴

Topicstarter
Waarom dan precies? Ik had bewust in de OP daar niets over genoemd. Ik wil en masse comments weghalen; de beweegreden is toch helemaal niet belangrijk?

Als iemand hier een topic opent met de vraag hoe hij een int als string kan casten dan wordt er dan ook gevraagd waarom dat nodig is?

Hoeder van het Noord-Meierijse dialect


Acties:
  • 0 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 14:01
Harrie_ schreef op maandag 2 november 2020 @ 16:44:
[...]


Waarom dan precies? Ik had bewust in de OP daar niets over genoemd. Ik wil en masse comments weghalen; de beweegreden is toch helemaal niet belangrijk?

Als iemand hier een topic opent met de vraag hoe hij een int als string kan casten dan wordt er dan ook gevraagd waarom dat nodig is?
Nee dan wordt het topic gewoon direct gesloten. Je vraagt ons om mee te denken, dus vandaar dat mensen ook graag wat context/beweegredenen zien en weten wat je al geprobeerd hebt, waarom dat niet ging etc.

[ Voor 14% gewijzigd door Barryvdh op 02-11-2020 16:46 ]


Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Harrie_ schreef op maandag 2 november 2020 @ 16:31:
[...]


[...]


Is het heel erg als ik verder niet wil uitweiden over de exacte beweegreden?


[...]


Dat gaat nu in dit specifieke geval niet, vandaar dat ik hiermee 'worstel'.
Het scenario dat je lijkt te schilderen, namelijk dat je je PHP-code op de server van een klant wil deponeren, maar dan liefst wel obfuscated, minified of anderszins bewerkt, is volgens mij niet zo vreemd als zovelen hier lijken te beweren.

Of de situatie wenselijk en de oplossing nuttig is, is een tweede, maar daar gaat dit topic helemaal niet over, en is ook echt geen reden dat het gesloten kan worden.

Wat je wil, kun je gewoon scripten. Zoek een obfuscator/minifier die je aanstaat, vogel uit hoe je hem een map PHP-bestanden via de commandline kunt laten behandelen, doe hetzelfde voor je CSS en JS, en plak deze calls in één script aan elkaar.

Dan laat je de buildserver dat script aftrappen, en je bent klaar.

[ Voor 3% gewijzigd door CodeCaster op 02-11-2020 16:46 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 14:01
CodeCaster schreef op maandag 2 november 2020 @ 16:46:
[...]

Het scenario dat je lijkt te schilderen, namelijk dat je je PHP-code op de server van een klant wil deponeren, maar dan liefst wel obfuscated, minified of anderszins bewerkt, is volgens mij niet zo vreemd als zovelen hier lijken te beweren.
Nee klopt, maar TS geeft aan dat het juist niet om obfuscation gaat, dus dan zijn we benieuwd wat dan wel een reden kan zijn.
Natuurlijk beetje flauw om te zeggen dat je de reden moet zeggen, maar iedereen wil graag zo goed mogelijk helpen naar de oplossing voor het probleem. Voor een 'ik zoek een script die x doet aub' is Tweakers volgens mij niet echt bedoeld, maargoed.

Acties:
  • 0 Henk 'm!

  • Harrie_
  • Registratie: Juli 2003
  • Niet online

Harrie_

⠀                  🔴 🔴 🔴 🔴 🔴

Topicstarter
@Barryvdh Ik heb dus expliciet in de OP niet benoemd wat de exacte reden daarvoor is om juist de boel niet te laten derailen. Misschien is de reden wel dat er in ieder comment-block staat "Deze klant is een bal gehakt", als ik dat meldt dan krijgen we de discussie "Waarom zet je dat er dan in?", "Zoiets hoort niet in je comments te staan!". Juist dát wilde ik voorkomen....

Verder was het ook helemaal niet mijn bedoeling om hier een 'ik zoek een script die x doet' te dumpen. Ik was eigenlijk vooral op zoek naar een out-of-the-box oplossing die ik zelf niet gevonden krijg (misschien zoek ik naar het verkeerde, misschien mis ik iets?) maar ik denk dat ik het advies van @CodeCaster ga volgen; ik ga zelf iets schrijven.

[ Voor 20% gewijzigd door Harrie_ op 02-11-2020 17:03 ]

Hoeder van het Noord-Meierijse dialect


Acties:
  • 0 Henk 'm!

  • scosec
  • Registratie: Februari 2016
  • Laatst online: 06:39
Harrie_ schreef op maandag 2 november 2020 @ 16:31:
[...]


[...]


Is het heel erg als ik verder niet wil uitweiden over de exacte beweegreden?


[...]


Dat gaat nu in dit specifieke geval niet, vandaar dat ik hiermee 'worstel'.
Dat heet doorvragen. Mensen willen vaak antwoord op hun vraag terwijl het in veel gevallen onderdeel is van een groter vraagstuk.

P.s. Codecaster geeft al een oplossing voor je probleem.

[ Voor 6% gewijzigd door scosec op 02-11-2020 17:18 ]


Acties:
  • +3 Henk 'm!

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 02-06 12:29
Gelukkig kan PHP het uit de doos via de cli

code:
1
-w  Output source with stripped comments and whitespace.


Blijft wel een oplossing van... ach weet je laat maar...

Driving a cadillac in a fool's parade.

Pagina: 1