I completely forgot, but here’s a whole article and a JuliaCon workshop that goes through how to do this stuff “by hand” with loops, ApproxFun, DiffEqOperators, etc. It does a lot on heat equations, but it should be clear that what you get out of the spatial discretizations is second order ODEs which you can either do implicitly like the spatial parts or just solve the second order ODE:
You can then grab something like Allen–Cahn equation - Wikipedia and make sense of it as a discretization in a way like https://benchmarks.sciml.ai/html/MOLPDE/allen_cahn_fdm_wpd.html