WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Hur gör ni för att dela kod mellan projekt? (https://www.wn.se/forum/showthread.php?t=27696)

totoo 2008-03-05 01:53

Goddagens...

Under mina senaste år som webbutvecklare så har jag tagit fram en hel del bibliotek som jag återanvänder mellan mina projekt. Både php, javascript och ibland också enstaka css-filer.

Varje gång jag börjar på ett nytt projekt så kopierar jag från ett tidigare projekt till en ny katalog, och börjar konstruera en ny site med dessa bibliotek som grund. Ibland kommer jag på en smart uppdatering till något bibliotek, gör uppdateringen och konstaterar efter ett tag att mina filer står lite olika till i utveckling mellan alla mina projekt. Biblioteket har utvecklats på något sätt hos nästan alla mina projekt, men alla har olika uppdaternigar och skulle hemskt gärna ha samma uppdateringar som de andra projekten fått.

Detta är egentligen bara ett I-landsproblem, men å andra sidan är det slöseri med tid att flytta uppdateringar och samla ihop dem i en enda fil - som man sedan lägger in i varje projekt.

Någon som känner igen sig? ;)

För PHP så kan jag ju skapa en sån där global includekatalog. Minns inte vad det heter, men includes i php-mappen är ju en sådan. Det kanske finns mer smarta knep än så också, vad vet jag.

Javascripten... Ja det vettefan... Att ladda dem från en annan domän känns lite tokigt, men det går ju... Alla projekt ligger ju på en varsin domän, så det är inte tal om något "../js/whatever". CSS kan dupliceras utan att jag bryr mig.

Jag tänkte mest höra hur ni andra gör, om ni har några knep eller om ni klåpar runt som jag har gjort. :)

stakes 2008-03-05 08:03

Jadå. Jag har en grundkatalogstruktur med statistka html\css\js filer samt php "klass" bibliotek för varje nytt projekt. Lite som ett eget ramverk med olika komponenter, vissa som jag under åren byggt själv, andra 3:e parts "ramverk" som JQuery eller Swiftmailer

jonny 2008-03-05 08:10

Ligger alla projekt på samma server bör du kunna lägga alla filer i en virtuellkatalog som är samma fysiska katalog. Åtminstone för javascripten.

I annat fall skulle jag nog ha en katalog där senaste versionen alltid finns och så drar du ner den när du ska pilla på något i ett gammalt projekt.

Lumax 2008-03-05 09:00

Jag har ett eget repository i subversion där jag har alla "generella" funktioner vars kod delas av flera projekt. När jag sedan gör en uppdatering av någon sida så kör jag "merge" så att jag får med eventuella uppdateringar från dom generella sakerna.

coredev 2008-03-05 09:03

Jag använder mig av en katalog som heter "Global":

Sajt1/
Sajt2/
Sajt3/
...
Global/

I Global lägger jag allt som är gemensamt (typ 80% av all kod återanvänds mellan alla olika projekt). Katalogen länkas sedan in genom mjuka länkar in i Sajt1, Sajt2, etc.. så att man kommer åt dom via www.Sajt1.se/Global/Styles/hejsanhoppsan.css och även genom relativa pather innuti projektet require_once('Global/klasser/hejsan.class.php')..

Fungerar klockrent, men kräver att man kan/får göra mjuka länkar på servern..

Daniel.st 2008-03-05 10:30

Jobbar förvisso i ASP.NET och C# och där löser man det elegant genom att lägga detta i egna DLLer som man sen enkelt inkluderar som referenser i sina projekt.

Adam N 2008-03-05 15:24

Citat:

Originally posted by Daniel.st@Mar 5 2008, 10:30
Jobbar förvisso i ASP.NET och C# och där löser man det elegant genom att lägga detta i egna DLLer som man sen enkelt inkluderar som referenser i sina projekt.
Spelar väl inte så stor roll om man lägger det i en egen dll
eller en egen katalog? Kanske enklare att uppdatera
enskilda funktioner om det är en katalog.

eliasson 2008-03-05 20:07

Detta problemet har jag också, förvisso, men jag har helt enkelt gjort så att jag har ett "ramverk" som jag kopierar precis som du men försöker att inte ändra koden för mycket så att syntaxen fortfarande blir de samma, men koden är bara optimerad.

Gör man då en uppdatering så ser man till att göra så mycket uppdateringar som möjligt, och sedan börja använda den som ramverk istället.

Learn to live with it :)

grinditwp 2008-03-06 10:18

Jag har gjort som så att ja byggt mitt egna "ramverk" eller "cms". Till och med byggt installations fil, script som skapar alla filer och mysql databaser jag behöver. Sedan bygger jag bara design och utvecklar nya funktioner om det behövs. :)

Ara 2008-03-06 10:25

Subversion borde väl lösa dina problem.

Det bara användea branch och merge för att uppnå önskad effekt.


Alla tider är GMT +2. Klockan är nu 15:04.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson