I made a raised garden bed with cinder blocks and rebar. I wanted to use railroad ties or similar lumber, but they just cost way too much, and also, I couldn't find any that didn't warn that they shouldn't be used near small children, pets or edible plants... and since this is a fruit and vegie garden, in the back yard where my dog hangs out, not really a good choice.
I started by marking off the area I wanted, and then started digging; the area I was using wasn't flat, but the top of the garden is more or less level. The wall is 2 cinder blocks deep, with the holes open to the top. Some of the dirt I dug out was used to fill the holes in the cinder blocks; then I pounded in rebar with a sledge hammer to hold the cinder blocks into place. Then I put down a piece of 4 mil plastic I bought at a yard sale, to conserve water, as Denver was experiencing a drought (happily, large enough for the entire bed, which is about 8 feet wide and 15 feet long) and started buying dirt, 1 pick-up truck load at a time (one of my neighbors has a pick-up truck and buys dirt from the local materials yard; she only charged me for the gas, as long as I helped her unload her dirt at her house; later loads I paid a friend of mine's son to bring in - still way cheaper than the delivery fee). When it was half full, I started planting. The back 3 feet (3 x 8) is raspberry bushes; the rest is squash, peppers, and tomatoes. I planted herbs in some of the open tops of the cinder blocks, and I'm going to plant more... although I may have to mow the mint down at the rate it's going. I also had my sprinkler system extended so now I have a drip watering system in my garden; the clock/timer has more than paid for itself, because I don't forget to water, or to turn the water off.
Conveniently, one of my neighbors was throwing out mesh fencing about the time I realized my dog liked to lay on the dirt in the garden to cool off, so I picked that up on trash day and fenced in the garden (longer rebar is holding it up), and put a large piece of bird netting over the top of the fence (4 feet high) to keep the birds from harvesting too. All the garden waste goes into a compost heap (more mesh fencing - chicken wire I got the same way) and creates mulch for the next year.